0

我正在编写一个由另一个程序动态加载的库。该库使用一些 Boost 库(例如,线程)。是否可以在不重新编译相关程序的情况下使其以某种方式工作?

如果我使用链接标志-lboost_thread,它就不起作用,因为使用这个库的程序也需要链接同一个 Boost 库。使用/usr/lib/libboost_thread.a也不起作用,因为.a文件不是用-fPIC.

我在 Linux 下使用 GCC。

4

1 回答 1

0

再次尝试,我发现问题不是我描述的。由于其他原因,库没有加载。我发现将图书馆与-lboost_thread作品联系起来,具有以下条件:

  • gcc 给出编译器警告(可能是因为库来自-L不在的路径$LD_LIBRARY_PATH)。
  • 加载库时,它会自动加载 Boost,前提是它可以找到它们。
于 2012-05-24T10:23:41.810 回答