Eigen 的 unsupported/CXX11/Tensor 模块的编译错误
Compile errors of Eigen's unsupported/CXX11/Tensor module
我的项目使用 Eigen-3.3-beta。我可以在 visual studio 2015 社区中构建我的项目,其中包括 <Eigen/Core>
。但是在我包含 <unsupported\Eigen\CXX11\Tensor>
之后,我得到了像这样的奇怪的编译错误:
1>C:\Program Files (x86)\Windows Kits.1\Include\um\minwinbase.h(46): error C3646: 'nLength': unknown override specifier
1>C:\Program Files (x86)\Windows Kits.1\Include\um\minwinbase.h(46): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
1>C:\Program Files (x86)\Windows Kits.1\Include\um\minwinbase.h(47): error C3646: 'lpSecurityDescriptor': unknown override specifier
1>C:\Program Files (x86)\Windows Kits.1\Include\um\minwinbase.h(47): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
1>C:\Program Files (x86)\Windows Kits.1\Include\um\minwinbase.h(48): error C3646: 'bInheritHandle': unknown override specifier
......
1>C:\Program Files (x86)\Windows Kits.1\Include\um\minwinbase.h(295): fatal error C1003: error count exceeds 100; stopping compilation
我的项目似乎可以正常使用 Eigen-3.3-beta 的正常部分,但 unsupported module
除外。此外,包含 unsupported module
后,无法解析由 GLEW(例如 GLfloat
)引入的类型。我是不是做错了什么?
这似乎源于 <unsupported\Eigen\CXX11\Tensor>
.
中的包含
我在这个线程 (Compile error in 'winbase.h' ) 的帮助下解决了它,并且只是将 <unsupported\Eigen\CXX11\Tensor>
中的第 38 行从 #include <winbase.h>
与 #include <windows.h>
.
交换了
编辑:这似乎是它在存储库的最新版本中修复的方式。
我的项目使用 Eigen-3.3-beta。我可以在 visual studio 2015 社区中构建我的项目,其中包括 <Eigen/Core>
。但是在我包含 <unsupported\Eigen\CXX11\Tensor>
之后,我得到了像这样的奇怪的编译错误:
1>C:\Program Files (x86)\Windows Kits.1\Include\um\minwinbase.h(46): error C3646: 'nLength': unknown override specifier
1>C:\Program Files (x86)\Windows Kits.1\Include\um\minwinbase.h(46): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
1>C:\Program Files (x86)\Windows Kits.1\Include\um\minwinbase.h(47): error C3646: 'lpSecurityDescriptor': unknown override specifier
1>C:\Program Files (x86)\Windows Kits.1\Include\um\minwinbase.h(47): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
1>C:\Program Files (x86)\Windows Kits.1\Include\um\minwinbase.h(48): error C3646: 'bInheritHandle': unknown override specifier
......
1>C:\Program Files (x86)\Windows Kits.1\Include\um\minwinbase.h(295): fatal error C1003: error count exceeds 100; stopping compilation
我的项目似乎可以正常使用 Eigen-3.3-beta 的正常部分,但 unsupported module
除外。此外,包含 unsupported module
后,无法解析由 GLEW(例如 GLfloat
)引入的类型。我是不是做错了什么?
这似乎源于 <unsupported\Eigen\CXX11\Tensor>
.
我在这个线程 (Compile error in 'winbase.h' ) 的帮助下解决了它,并且只是将 <unsupported\Eigen\CXX11\Tensor>
中的第 38 行从 #include <winbase.h>
与 #include <windows.h>
.
编辑:这似乎是它在存储库的最新版本中修复的方式。