假设我有一个文件main.cpp
使用. 还假设我们在同一目录中同时拥有 libmath.a 和 libmath.so。现在,如果我发出命令,Linux 的默认行为是链接到共享库。我想知道有没有办法强制程序与静态库链接而不删除或移动共享库?sin()
libmath
g++ -o main main.cpp -lmath
libmath.so
libmath.a
问问题
26102 次
3 回答
30
您需要将 -static 传递给链接器,但仅限于您想要的特定库。例如:
g++ -o main main.cpp -Wl,-Bstatic -lmath -Wl,-Bdynamic
于 2010-12-21T14:17:32.003 回答
13
如果您的链接器支持-l:<filename>
,您可以使用:
g++ -o main main.cpp -l:libmath.a
于 2010-12-21T14:39:55.323 回答
5
使用这个功能:
g++ -o main main.cpp /path_to/libmath.a
于 2010-12-21T14:20:22.990 回答