mlpack包含文件错误



最近我要学习mlpack。今天,我已经成功地从mlpack源代码构建了解决方案,但当我新创建一个项目时,我在头文件中遇到了以下错误。我想知道哪里出了问题以及如何修复。

错误

在屏幕截图中,algorithm.hpp位于构建文件夹下,其绝对路径为D:MLPackmlpackbuildincludemlpackcorestd_backportalgorithm.hpp。新项目中的源代码只是https://www.mlpack.org/的副本。

下面的屏幕截图显示了构建mlpack.sln解决方案后生成的一些文件。

生成的libs

帮助构建mlpack的其他库的版本有:

Armadillo      10.8.0 (at least 9.800)
Boost (math_c99, spirit) 1.78.0 (at least 1.58.0, and I have added this version string in  CMakeLists.txt before building mlpack)
CMake          3.20 (at least 3.6)
ensmallen      2.18.1 (at least 2.10.0)
cereal         1.3.0 (at least 1.1.2)
openBLAS       0.24.1

我的新项目的配置如下所示。

附加包含目录

附加依赖

构建后事件

而且我还禁用了";一致性模式";。

禁用一致性模式

整个建筑和使用过程参见https://www.mlpack.org/doc/stable/doxygen/build_windows.htmlhttps://www.mlpack.org/doc/mlpack-3.4.2/doxygen/sample_ml_app.html

我终于发现这个问题似乎与源代码的版本有关。我不应该使用https://github.com/mlpack/mlpack的最新版本的源代码,而应该使用与最新的稳定版本相对应的源代码。在我将include目录替换为正式发布的windows安装包对应的include目录后,在我的新项目中构建解决方案的过程中没有报告任何错误,因此我得到了预期的结果。

结果

这次事件给了我一个教训,那就是以后在做CMake时,应该使用稳定的源代码,而不是最新版本的源代码。

相关内容

最新更新