我在某处读到了必须编译boost的序列化库(我忘了在哪里阅读它,否则我会发布一个链接).
所以我从source forge下载了最新版本并将其解压缩到我项目中的路径.
现在?
我调查了该文件夹,但找不到makefile.
那么我该怎么做才能编译boost:serialization lib?
编辑:然而我尝试使用它,而不编译它,但我得到这个错误:
boost/archive/basic_xml_oarchive.hpp:92:9: error:
no matching function for call to 'assertion_failed'
BOOST_MPL_ASSERT((serialization::is_wrapper< T >));
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
所以我认为原因是它没有编译.是对的吗?
解决方法:
要构建Boost,请按照说明here进行操作.
根据您的评论,您只想构建Boost(序列化)的一部分.如果您按照上面的链接,有一节包含以下建议(措辞可能会有所不同,我已从Windows说明中复制它):
For a description of other options you can pass when invoking b2, type:
b2 –help
In particular, to limit the amount of time spent building, you may be interested in:
- reviewing the list of library names with –show-libraries
- limiting which libraries get built with the –with-library-name or –without-library-name options
键入b2 –show-libraries会产生以下结果:
The following libraries require building:
- atomic
- chrono
- context
- coroutine
- date_time
- exception
- filesystem
- graph
- graph_parallel
- iostreams
- locale
- log
- math
- mpi
- program_options
- python
- random
- regex
- serialization
- signals
- system
- test
- thread
- timer
- wave
因此,要构建只是序列化,将选项–with-serialization传递给b2,例如使用VS2013构建所有库类型(静态/动态库,静态/动态运行时,调试/发布,单/多线程),您可以键入:
b2 toolset = msvc-12.0 –with-serialization –build-type = complete stage
请注意,如果您计划在将来的项目中使用Boost,那么构建整个项目可能更简单(即省略–with-serialization选项),以便所有库随时可以在需要时立即使用.