2014-02-06 56 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