【发布时间】:2011-01-21 20:03:48
【问题描述】:
我正在使用 Boost 库在 Linux、Eclipse CDT、g++ 中工作。拥有使用 Boost 线程的现有程序,我尝试静态链接它而不是动态链接。 /usr/local/lib 目录包含以下文件:
libbost_thread.a
libbost_thread.so
libbost_thread.1.41.0
动态链接有效:
g++ -o"MyProgram" ./main.o -lboost_thread
静态链接:
g++ -static -o"MyProgram" ./main.o -lboost_thread
产生大量消息,例如:
对 `pthread_mutex_init' 的未定义引用
如何静态链接到 Boost 库?
【问题讨论】:
-
这与您之前的问题stackoverflow.com/questions/2328439/boost-static-linking 几乎相同,并且重复的帖子通常是不受欢迎的。
-
@Dirk - 它们是相关的,但绝对不同。上一个问题是如何告诉链接器使用 .a 而不是 .so。这个问题是关于一旦他这样做就会发生的问题。最好发布一个新的相关问题,然后将新问题附加到现有问题上。
-
@Samuel:我已得到纠正,并从您那里了解了
-pthread链接器选项。谢谢!
标签: linux boost linker static-linking