我想要的是把boost线程的源文件(所有必要的头文件和源文件)放到我自己的项目中,这样其他人就不需要再配置对boost的支持了。构建系统由 CMake 制作。
最近想把boost thread更新到1.53的实际版本,但是新版本的boost thread无法在windows中构建。(在linux下可以)
我集成boost线程的做法很简单,就是把boost::thread需要的所有源文件放在一个文件夹中(包括boost::system的源文件),然后把这些源文件做一个DLL . (使用构建选项 BOOST_THREAD_BUILD_DLL)
但是当上面构建的 dll 库链接到我自己的代码时,我得到了一些 Unresolved boost::system 引用错误,例如:
"unresolved reference to error_category xxxx"
但是构建的库包含来自boost::system的源文件,我不知道为什么会出现这样的错误。你们能给我一些提示吗?非常感谢,我已经花了很多时间来研究这个令人作呕的问题:(
最佳答案
正如 Johannes 在他的评论中指出的那样,BCP工具的设计正是为了做到这一点:
The bcp utility is a tool for extracting subsets of Boost, it's useful for Boost authors who want to distribute their library separately from Boost, and for Boost users who want to distribute a subset of Boost with their application.
关于c++ - 如何将boost线程(源文件)集成到我自己的项目中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15243299/