我使用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. 動態LIB找不到靜態庫
- 2. 在動態庫中包裝不同版本的靜態庫
- 3. 靜態...不是真的靜態
- 4. cmake檢查庫是否是靜態的
- 5. Xcode6塊一些靜態庫的靜態庫,而不是其他
- 6. 建設cmake的靜態庫
- 7. 如何將靜態類包裝到非靜態實例對象中(動態)
- 8. 鏈接庫的靜態版本而不是動態版本
- 9. CMake剝離靜態庫
- 10. 如何更改CMake文件以生成dll而不是靜態庫?
- 11. 由cmake鏈接到靜態庫
- 12. 如何使用動態分配而不是靜態int?
- 13. 如何添加動態控件而不是靜態控件?
- 14. 如何在代碼塊中針對動態庫而不是靜態編譯
- 15. 包括靜態庫到./configure
- 16. 靜態庫無法找到
- 17. 靜態庫-L未找到
- 18. 靜態庫不包含宏
- 19. 如何將靜態庫鏈接到gcc的動態庫中
- 20. CMake:共享庫,使用靜態庫
- 21. Facebook ios靜態庫:build_facebook_ios_sdk_static_lib找不到
- 22. 什麼是靜態庫,靜態鏈接動態庫和動態鏈接動態庫的.lib文件?
- 23. 如何正確使用Mockito靜態方法包裝在非靜態方法中?
- 24. 爲什麼AbstractFactoryUnit具有動態而不是靜態多態?
- 25. 圍繞靜態庫託管C++包裝
- 26. CMake的 - 創建一個靜態庫
- 27. 使用Visual C++ 6編譯器而不是動態庫(DLL)創建靜態庫
- 28. cmake如何部分靜態鏈接,部分動態鏈接?
- 29. UNIX:靜態庫鏈接到靜態庫
- 30. 如何選擇使用CMake鏈接靜態或動態增強庫?
瞭解的東西,每天新..迫不及待地嘗試了這一點... – Begui 2014-09-15 19:56:53