CMake命令target_link_libraries鏈接庫的順序

target_link_libraries裏庫文件的順序符合gcc鏈接順序的規則,即被依賴的庫放在依賴它的庫的後面,比如

target_link_libraries(hello A B.a C.so)

在上面的命令中,libA.so可能依賴於libB.a和libC.so,如果順序有錯,鏈接時會報錯。還有一點,B.a會告訴CMake優先使用靜態鏈接庫libB.a,C.so會告訴CMake優先使用動態鏈接庫libC.so,也可直接使用庫文件的相對路徑或絕對路徑。使用絕對路徑的好處在 於,當依賴的庫被更新時,make的時候也會重新鏈接。


本文轉載自博客CMake使用總結的一部分。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章