如何将boost线程(源文件)集成到我自己的项目中

时间:2013-03-06 09:20:14

标签: c++ boost dll cmake boost-thread

我想要的是将关于boost线程的源文件(所有必需的头文件和源文件)放入我自己的项目中,以便其他人不再需要配置boost的支持。构建系统由CMake制作。

最近我试图将boost线程更新到实际版本1.53,但是新版本的boost线程无法在windows中构建。(它在linux下工作)

我要集成boost线程非常简单,我只需将boost :: thread所需的所有源文件放在一个文件夹中(包括boost :: system的源文件),并为所有这些源文件制作一个DLL 。 (使用构建选项BOOST_THREAD_BUILD_DLL)

但是当上面构建的dll库链接到我自己的代码时,我在boost :: system中得到了一些未解决的引用错误,如:

"unresolved reference to error_category xxxx"

但是构建的库包含来自boost :: system的源文件,我不知道为什么会出现这样的错误。你们能给我一些提示吗?非常感谢,我已经花了很多时间来讨论这个恶心的探测:(

1 个答案:

答案 0 :(得分:2)

正如约翰内斯在评论中指出的那样,BCP工具旨在实现这一目标:

  

bcp实用程序是一个用于提取Boost子集的工具,它对于想要分别从Boost分发其库的Boost作者以及想要使用其应用程序分发Boost子集的Boost用户非常有用。