【发布时间】:2016-02-01 19:37:57
【问题描述】:
我正在构建一个使用 Boost:Serialization 的项目,并且在链接过程中出现错误,但只有在发布模式下,错误是:
致命错误 C1001:编译器发生内部错误。
&
致命错误 C1002:编译器在传递 2 中的堆空间不足
我只在 Windows 8 和 10 上使用 Visual Studio 2015 中内置的 v140 工具链在发布模式下构建时遇到这些错误。
如果使用 LLVM 2014 工具链构建,则构建时不会出现错误。
如果我注释掉 boost::serialization 的东西,代码将在 Release 模式下编译,所以我也假设它与 v140 如何优化模板化序列化代码有关,但崩溃发生在链接阶段,而不是在编译时...
以前有没有人遇到过这些错误?或者看到会在调试中构建但在发布中不会构建的代码?
谢谢!
【问题讨论】:
-
你试过using the 64-bit toolchain吗?如评论here中所述,还有一种方法可以为Visual Studio项目指定它。
标签: c++ serialization boost visual-studio-2015