下面的代码片段在使用c++ 14和c++的wsl上可以完美地工作。
#include <Eigen/Dense>
int main()
{
Eigen::Vector<double,12> a; //does not work on MSVS
return 0;
}
然而,如果我想用MSVS15及其编译器cl在Windows10上编译它,我会得到一个错误消息。
Main.cpp(5):错误C2039: "Vector":不是"Eigen"的元素c: 开发 eigen-3.3.7 特征 src/IterativeLinearSolvers IncompleteCholesky.h (17):注:见"特征"声明Main.cpp(5):错误C2065: "Vector":未声明的标识符Main.cpp(5): error C2062: "double"- type unexpected
有人知道为什么这个错误信息发生在windows上,而与g++ itworks?
然而,下面的工作:
Eigen::Matrix<double,12,1> b;
Eigen::Vector2d c;
Eigen::Vector3d d;
包含错误信息中提到的头文件不会改变输出。
此外,在Internet上是否有c++和cl在编码方面的比较?
在VS2019的3.3.9版本中存在相同的错误。但是版本3.4-rc1似乎解决了这个问题。