0

我想要的是将关于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 的源文件,我不知道为什么会出现这样的错误。你们能给我一些提示吗?非常感谢,我已经花了很多时间来解决这个令人作呕的问题 :(

4

1 回答 1

2

正如 Johannes 在他的评论中指出的那样,BCP工具正是为了做到这一点而设计的:

bcp 实用程序是一种用于提取 Boost 子集的工具,它对于希望将其库与 Boost 分开分发的 Boost 作者以及希望将 Boost 子集与他们的应用程序一起分发的 Boost 用户很有用。

于 2013-03-06T10:53:54.380 回答