在调试模式下使用boost-libs的发布版本



我有一个可视化的C++项目。我无法在调试模式下使用boost_filesystem-vc110-mt-1_54.lib的发布版本,它一直要求使用boostfilesystem-vc110-mt-gd-1_54.lib。我知道调试模式应该使用调试lib,但我不想构建并保留调试版本。我确实尝试了运行库设置。

如何做到这一点?

简短回答:你没有。Boost使用C++运行时的一些部分,这些部分在调试和发布中的工作方式不同,所以这些东西最终可能会崩溃。

然而,如果你真的想开枪自杀:你可以通过设置BOOST_ALL_NO_LIB预处理器标志来阻止自动链接,然后手动链接到发布二进制文件。

你真的,真的不应该在调试构建中使用Boost的发布版本,因为(正如ComicansMS所说)它链接到发布运行库,而你的调试构建链接到调试运行库。

如果你真的想要Boost的发布版本(在文件系统的情况下,我必须强调这可能没有用处),你必须编译自己的版本,它经过了优化,但与调试运行时相链接。

最新更新