2014-02-06 60 views
0

我是使用CMake的新手。现在我试图将Bullet链接到我的演示。使用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作为前缀。

链接这些库的正确方法是什么?

感谢, S.

回答

1

那么,你需要使用target_link_libraries确实如此。水木清华这样的:

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