gpt4 book ai didi

c++ - Eigen's unsupported/CXX11/Tensor模块的编译错误

转载 作者:塔克拉玛干 更新时间:2023-11-03 07:14:41 27 4
gpt4 key购买 nike

我的项目使用 Eigen-3.3-beta。我可以在 visual studio 2015 社区中构建我的项目,其中包括 <Eigen/Core> .但是在我包括 <unsupported\Eigen\CXX11\Tensor> 之后,我遇到了像这样的奇怪的编译错误:

1>C:\Program Files (x86)\Windows Kits\8.1\Include\um\minwinbase.h(46): error C3646: 'nLength': unknown override specifier
1>C:\Program Files (x86)\Windows Kits\8.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\8.1\Include\um\minwinbase.h(47): error C3646: 'lpSecurityDescriptor': unknown override specifier
1>C:\Program Files (x86)\Windows Kits\8.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\8.1\Include\um\minwinbase.h(48): error C3646: 'bInheritHandle': unknown override specifier
......
1>C:\Program Files (x86)\Windows Kits\8.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> .

编辑:这似乎是它在存储库的最新版本中修复的方式。

关于c++ - Eigen's unsupported/CXX11/Tensor模块的编译错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35410677/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com