Как вы добавляете библиотеки в CMakeLists?

0

После поиска повсюду я не мог найти никого или кого-либо, чтобы помочь мне разобраться, как добавить библиотеки GL GLEW и SDL2 в мой CMakeLists.txt. Я использую Ubuntu 14.04 LTS, и я установил следующие библиотеки с

sudo apt-get install libsdl2-dev   #for SDL-2
sudo apt-get install libgl-dev     #for GL
sudo apt-get install libglew-dev   #for GLEW

Все это отлично работало, и я смог скомпилировать в g++ этот комманд

g++ ./main.cpp ./display.h ./display.cpp ./shader.cpp ./shader.h -l SDL2 -l GL -l GLEW

Теперь мне нужно переключиться на CMake Compiler, и я не знаю, как добавить библиотеки GL, GLEW и SDL2 в CMakeLists.txt.

Теги:
opengl
glew

1 ответ

0
Лучший ответ

Способ включения библиотек зависит от нескольких вещей. Некоторые пакеты, такие как sdl2, имеют файлы pkgconfig, которые определяют библиотеки и включают в себя использование.

Cmake поставляется с модулем FindPkgConfig, который может получить его для вас.

Например:

include(FindPkgConfig)
pkg_check_modules(SDL2 REQUIRED sdl2)

target_link_libraries(executablename ${SDL2_LIBRARIES})

Вы также можете вручную добавить их с помощью функции target_link_libraries.

Другие пакеты имеют "Найти" модули, такие как GLEW: /usr/share/cmake-*/Modules/FindGLEW.cmake

У CMake есть много замечательных документов на страницах руководства и на их вики, как упоминал @Mikael Persson.

  • 0
    чем заменить имя исполняемого файла? SDL-2.h? ничего не пробую работает? Вики тоже мне не сильно помогли. Я знаю C ++, но я не знаю, как скомпилировать CMake с библиотеками.
  • 0
    Имя исполняемого файла - это имя программы, которую вы в конечном итоге создаете. Например, если вы компилируете программу под названием «mygame», это будет «mygame». Сначала вы должны определить исполняемый файл с помощью функции add_executable (). Например, ваш может быть add_executable (mygame display.cpp shader.cpp)
Показать ещё 3 комментария

Ещё вопросы

Сообщество Overcoder
Наверх
Меню