У меня есть вопрос, связанный с CMake в MAC. Я убеждаюсь, что исполняемая программа свяжет рамки и библиотеки правильно со следующими кодами:Почему я не могу связать файл рамки Mac с CMake?
link_directories(directory_to_framework_and_libs)
add_executable(program ${FILE_LIST})
target_link_libraries(program framework_name lib1 lib2)
В первой строке коде, я обозначаю место, где исполняемая программа может выполнять поиск рамок и библиотеки. В коде третьей строки инфраструктура и библиотеки будут ссылаться на исполняемую программу. Однако, когда я компилирую xcode.project, созданный из файла cmake с помощью Xcode 4, проект продолжает жаловаться на то, что он не может найти -lframework_name
: ld: library not found -lframework_name
Любые идеи будут оценены.
Трудно сказать, что здесь не так, без особых деталей. В принципе, это кажется правильным. Однако я бы рекомендовал избегать использования ['link_directories'] (http://www.cmake.org/cmake/help/v2.8.11/cmake.html#command:link_directories) (дополнительную информацию см. В документах) и вместо этого используйте ['find_library'] (http://www.cmake.org/cmake/help/v2.8.11/cmake.html#command:find_library). Это позволит вам передать полный путь к библиотеке в вызове 'target_link_libraries', и если библиотека не была найдена, вы получите сообщение об ошибке в настройке времени CMake, а не во время соединения. – Fraser