2014-01-09 3 views
5

Я пытаюсь связать статическую библиотеку (GLFW) с моей собственной библиотекой, которую я создаю. У меня есть следующий в моем файле CMakeLists.txt для того, чтобы сделать это:Связывание библиотек с использованием CMake и PkgConfig

pkg_search_module(GLFW REQUIRED glfw3) 
include_directories(${GLFW_INCLUDE_DIRS}) 
target_link_libraries(${LIBRARY_NAME} ${GLFW_STATIC_LIBRARIES}) 

При связывании моей библиотеки, я получаю следующее сообщение об ошибке: ld: library not found for -lglfw3

Тем не менее, работает pkg-config --libs glfw3 в консоли дает:

-L/usr/local/lib -lglfw3 

Так что я знаю, что библиотека GLFW установлена. Почему библиотека не найдена при попытке связывания с помощью CMake?

+0

я смог обойти эту проблему путем добавления -lglfw вручную my target_link_libraries, но я хотел бы знать, почему pkg_search_module не работает –

ответ

0

Вы добавляете имя библиотеки, но не путь поиска компоновщика. Попробуйте:

link_libraries(${GLFW_LIBRARY_DIRS}) 
0

Я получил ту же ошибку, когда с помощью аргумента -lglfw3, и после долгих проб и ошибок я обнаружил, что нужно использовать -lglfw.3

 Смежные вопросы

  • Нет связанных вопросов^_^