2014-02-06 4 views
0

Я новичок в использовании CMake. Теперь я пытаюсь связать Bullet с моей демонстрацией. WikiLink Bullet Physics with CMake

пули говорит, что с GCC мне нужно сделать что-то вроде этого

gcc myprogram.cpp -lGL -lGLU -I ./bullet/ ./bullet/BulletDynamics/libBulletDynamics.a ./bullet/BulletCollision/libBulletCollision.a ./bullet/LinearMath/libLinearMath.a 

Мой MakeFileLists.txt выглядит следующим образом

cmake_minimum_required(VERSION 2.8) 
project(Hello) 

include_directories(bullet/src) 

add_executable(Hello main.cpp) 

Я пытался использовать target_link_libraries но CMake просто добавляя -l как префикс.

Что такое правильный способ связывания этих библиотек?

Спасибо, С.

ответ

1

Ну, вам нужно использовать target_link_libraries действительно. Smth так:

add_executable(Hello main.cpp) 
target_link_libraries(Hello 
    ${CMAKE_CURRENT_SOURCE_DIR}/bullet/BulletDynamics/libBulletDynamics.a 
    ${CMAKE_CURRENT_SOURCE_DIR}/bullet/BulletCollision/libBulletCollision.a 
    ${CMAKE_CURRENT_SOURCE_DIR}/bullet/LinearMath/libLinearMath.a 
    -lGL -lGLU) 

(при условии, что вы уже построили/установили все библиотеки Пули в исходном каталоге вашего проекта Вы можете использовать абсолютные пути здесь, если вы хотите.). Также вы можете запустить make VERBOSE=1, чтобы увидеть, какие команды фактически выдаются во время компиляции.

+0

Отлично работает! Благодаря! – Sekhmet

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