-1

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

错误

在屏幕截图中,algorithm.hpp位于 build 文件夹下,其绝对路径为D:\MLPack\mlpack\build\include\mlpack\core\std_backport\algorithm.hpp. 新项目中的源代码只是从https://www.mlpack.org/.

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

生成的库

帮助构建 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

4

1 回答 1

2

我终于发现这个问题似乎与源代码的版本有关。我不应该使用最新版本的源代码,而是使用最新稳定版本https://github.com/mlpack/mlpack对应的源代码。我用官方发布的windows安装包对应的include目录替换了include目录后,在我的新项目中构建解决方案时没有报错,所以得到了预期的结果。

结果

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

于 2022-01-13T16:19:56.530 回答