假设我有一个文件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. g ++链接器:如果静态库存在,强制静态链接?
- 5. 如何在Qt Creator的共享库中建立静态链接?
- 6. 如何在静态库中使用共享库而不强制最终用户链接到这些库?
- 7. 如何将共享库与其他共享库链接到Linux?
- 8. 可以在gnu makefile中对共享库做静态库链接?
- 9. 在构建期间将静态库链接到共享库?
- 10. 当预构建静态和共享库与Android NDK时链接问题
- 11. SCons与静态库(.a)共享库(.so)
- 12. 与共享库链接
- 13. 共享库中库函数的选择性静态链接
- 14. mxmlc中的静态链接运行时共享库
- 15. 将共享库链接到共享库
- 16. 如何使用gcc在ubuntu下制作静态库共享库
- 17. C++将静态库链接到共享库
- 18. CMake将共享库链接到静态库
- 19. C++静态库可以链接到共享库吗?
- 20. 将GSL(或其他库)静态链接到共享库中
- 21. 如何强制库在qt创建器中静态链接
- 22. 使链接时,gcc偏好静态库共享对象?
- 23. 强制链接到Xcode目标的库的静态链接?
- 24. 链接共享库
- 25. 共享iPhone静态库
- 26. 如何链接到共享库在c + +
- 27. 将共享库与其他共享库链接是否好?
- 28. 链接共享库可执行与另一个共享库
- 29. C++共享库创建 - 与其他共享库链接
- 30. 取决于共享库的静态库
的可能的复制[G ++链接:强制静态链接,如果静态库是否存在? ](http://stackoverflow.com/questions/3698321/g-linker-force-static-linking-if-static-library-exists) – 2016-04-05 13:08:48