假設我有一個文件main.cpp
,它使用sin()
函數,該函數在libmath
中定義。另外假設我們在同一個目錄中都有libmath.a和libmath.so。現在,如果我發出命令g++ -o main main.cpp -lmath
,Linux的默認行爲是鏈接到共享庫libmath.so
。我想知道是否有辦法強制程序與靜態庫libmath.a
鏈接而不刪除或移動共享庫?當存在同名的共享庫時,如何強制與靜態庫鏈接
25
A
回答
20
您需要將-static傳遞給鏈接器,但僅限於您需要的特定庫。例如:
g++ -o main main.cpp -Wl,-Bstatic -lmath -Wl,-Bdynamic
+3
我認爲你的意思是「-Bstatic」而不是「-static」。太糟糕的單字符編輯是不允許的... – 2011-08-31 07:13:53
4
使用此功能:
g++ -o main main.cpp /path_to/libmath.a
8
如果你的鏈接器支持-l:<filename>
你可以使用:
g++ -o main main.cpp -l:libmath.a
相關問題
- 1. 鏈接共享對象與靜態庫
- 2. 將靜態庫鏈接到共享庫?
- 3. 鏈接一個共享庫靜態到我的共享庫
- 4. 如何強制ld使用靜態庫而不是共享庫?
- 5. 與靜態庫鏈接的共享庫:重定位錯誤
- 6. C++靜態鏈接共享庫
- 7. 鏈接靜態庫,共享另一個靜態庫
- 8. g ++鏈接器:如果靜態庫存在,強制靜態鏈接?
- 9. 如何在Qt Creator的共享庫中建立靜態鏈接?
- 10. 如何在靜態庫中使用共享庫而不強制最終用戶鏈接到這些庫?
- 11. 如何將共享庫與其他共享庫鏈接到Linux?
- 12. 如何通過cmake同時建立靜態庫和共享庫
- 13. 鏈接靜態庫與靜態庫
- 14. 可以在gnu makefile中對共享庫做靜態庫鏈接?
- 15. 在構建期間將靜態庫鏈接到共享庫?
- 16. Tensorflow:與共享庫動態鏈接
- 17. SCons與靜態庫(.a)共享庫(.so)
- 18. Android的許多鏈接的靜態庫到共享庫
- 19. 與共享庫鏈接
- 20. 共享庫中庫函數的選擇性靜態鏈接
- 21. mxmlc中的靜態鏈接運行時共享庫
- 22. 強制cmake鏈接共享庫與靜態庫,而沒有提到一個特定的目標
- 23. 將共享庫鏈接到共享庫
- 24. 如何使用gcc在ubuntu下製作靜態庫共享庫
- 25. 將GSL(或其他庫)靜態鏈接到共享庫中
- 26. CMake將共享庫鏈接到靜態庫
- 27. 鏈接靜態庫共享庫和隱藏
- 28. C++靜態庫可以鏈接到共享庫嗎?
- 29. Android NDK:將靜態庫鏈接到共享庫
- 30. C++將靜態庫鏈接到共享庫
的可能的複製[G ++鏈接:強制靜態鏈接,如果靜態庫是否存在? ](http://stackoverflow.com/questions/3698321/g-linker-force-static-linking-if-static-library-exists) – 2016-04-05 13:08:48