我使用find_package
將外部庫包含到我的CMake項目中。因爲我想添加對靜態鏈接的支持,所以我設置了set(BUILD_SHARED_LIBS FALSE)
。但是,我仍然可以使用像libglew32.dll.a
這樣的庫,它們只是使動態鏈接更容易的包裝。相反,我想讓CMake找到存在於同一目錄中的libglew32.a
。這是我使用的module to find GLEW。如何讓CMake找到真正的靜態庫而不是動態包裝?
1
A
回答
3
你總是可以鏈接到一個確切的圖書館使用文件名。這是一個標誌,你會用
-l:[filename]
對於cmake的
target_link_libraries(target :libglew32.a)
2
在Linux上這樣做會使用所有靜態庫
set(CMAKE_FIND_LIBRARY_SUFFIXES .a ${CMAKE_FIND_LIBRARY_SUFFIXES})
,如果你正在構建外部庫,通常我只是將它們包含在我的目標
target_link_libraries(myprogram
${LIBROCKET_LIBS_DIRS}/libRocketCore.a
${LIBROCKET_LIBS_DIRS}/libRocketControls.a)
相關問題
- 1. 使靜態庫,而不是動態
- 2. 動態LIB找不到靜態庫
- 3. CMake與Boost無法找到靜態庫
- 4. 在動態庫中包裝不同版本的靜態庫
- 5. 靜態...不是真的靜態
- 6. C++靜態而不是動態多態
- 7. cmake檢查庫是否是靜態的
- 8. Xcode6塊一些靜態庫的靜態庫,而不是其他
- 9. C靜態庫包裝器
- 10. 建設cmake的靜態庫
- 11. 如何將靜態類包裝到非靜態實例對象中(動態)
- 12. 與cmake如何靜態鏈接一些庫和其他動態?
- 13. 鏈接庫的靜態版本而不是動態版本
- 14. CMake剝離靜態庫
- 15. 如何更改CMake文件以生成dll而不是靜態庫?
- 16. 鏈接靜態庫而不是動態鏈接
- 17. 由cmake鏈接到靜態庫
- 18. 如何創建自動鏈接到動態庫的靜態庫?
- 19. 如何使用動態分配而不是靜態int?
- 20. 如何添加動態控件而不是靜態控件?
- 21. 找到在Xcode中包含靜態庫的正確方法
- 22. 如何在代碼塊中針對動態庫而不是靜態編譯
- 23. 包括靜態庫到./configure
- 24. 讓GUI靜態或不是
- 25. 靜態庫無法找到
- 26. 靜態庫-L未找到
- 27. 防止CMake查找已安裝的庫而不是「本地」庫
- 28. 靜態庫不包含宏
- 29. 如何強制ld使用靜態庫而不是共享庫?
- 30. 如何將靜態庫鏈接到gcc的動態庫中
瞭解的東西,每天新..迫不及待地嘗試了這一點... – Begui 2014-09-15 19:56:53