Eigen中的内部编译器错误(v141)

时间:2017-07-09 23:06:34

标签: c++ visual-c++ visual-studio-2017 eigen

在文件' ProductEvaluators.h"中编译函数时在使用v141的当前版本的Eigen中,我得到了内部编译器错误。

new PrerenderSpaPlugin(path.join(__dirname, './dist'), [ '/' ]),

该函数如下所示,我将编译器的/ crash中的错误缩小到' .sum()'在最后一行:

{"statusCode":404,"error":"Not Found"}

虽然修复这个特定错误当然会很有趣,但我也想知道,什么样的代码通常会引发这种编译器崩溃?

1 个答案:

答案 0 :(得分:0)

我在多个场合看到了MSVC的编译器崩溃。到目前为止,它始终是32位编译器,其中64位msvc(以及gcc或clang)可以正常工作。

我使用过的解决方法是将表达式拆分成较小的表达式,明确地将子表达式计算为Eigen :: Matrix<>临时工。 将这些临时工具保留在一个类中,并重新使用这些对象可以最大限度地降低性能成本,但理想情况并非如此。