在释放模式Mnly中Boost :: Serialization VS2015编译错误

时间:2015-11-02 00:16:26

标签: c++ serialization boost visual-studio-2015

我正在构建一个使用Boost的项目:相当严重的序列化,&我在链接过程中遇到错误,但只有在发布模式下构建时,错误是:

致命错误C1001:编译器中发生内部错误。

&安培;

致命错误C1002:编译器在第2遍中没有堆空间

我只是在发布模式下构建时,使用Visual Studio 2015中内置的v140工具链,在Windows 8和Windows 8上都会出现这些错误。 10。

如果使用LLVM 2014工具链构建,则构建时没有错误。

如果我注释掉boost :: serialization的东西,代码将在Release模式下编译,所以我也假设它与v140如何优化模板化的序列化代码有关,但崩溃发生在链接阶段,而不是在编译时...

之前有没有人遇到过这些错误?或者看到将在调试中构建而不是在发布中构建的代码?

谢谢!

1 个答案:

答案 0 :(得分:0)

错误几乎说明了一切:"致命错误C1002:编译器在第2遍"中没有堆空间。 - 在实例化并尝试内联Boost序列化的许多模板时,它超出了资源限制。完全可能的是,新的链路时间优化功能在这里是错误的。

因此,如果已启用,请尝试禁用该功能:/GL-