我正在尝试使用Visual Studio 2013编译boost 1.52库文件。为此,请使用visual studio prompt命令运行文件b2。
一切似乎都正常运行。但是,我在/ stage / lib /中获取的lib文件没有VC的版本。例如,我有
libboost_date_time-vc-mt-1_52.lib
我的动态库需要
libboost_date_time-vc110-mt-1_52.lib
当我用vc110替换vc重命名所有文件时,它可以作为一个魅力,但这是一个非常挑剔的过程。
我做了一些研究,我可以看到一个人可以控制关于VS版本的Boost版本。我尝试了以下命令
b2 toolset=msvc-12.0
然而,我仍然得到无版本文件。
如何让它发挥作用?感谢。
答案 0 :(得分:2)
boost 1.52于2012年发布。目前,Visual Studio 2013还不是现有的编译器。
您正在使用非官方支持的编译器编译库。你真的很幸运,用Visual Studio 2013编译了1.52。
b2无法将path_include
添加到您的库名称也就不足为奇了。在boost构建系统配置文件中可能存在一个case语句,其中包含每个“支持”编译器的版本名称....并且可能没有vc110 ......
您需要使用支持Visual Studio 2013的第一个boost版本或使用Visual Studio 2010编译器(1.52支持)....或者像您一样手动重命名文件。
顺便说一下,请注意,如果您计划使用它,重命名库将使自动链接失败。请参阅vc110
:这明确处理每个编译器版本....仅适用于官方支持的编译器。