当我在CLion中使用仅标头的Armadillo C++ 库时,IDE 会指示(突出显示)代码中的多个(错误)错误,但是 Armadillo 的使用是有效的,并且代码构建和运行时没有任何错误。
例如,在一个非常简单的 Armadillo 测试项目中,IDE 指示 3 个错误,如注释中所述:
#include <iostream>
#include "armadillo"
using namespace std;
using namespace arma;
int main() {
cout << "Armadillo version: " << arma_version::as_string() << endl;
// Returns 5.0.1 (Ankle Biter)
mat A(2,3); // Error: Too many arguments, expected 0
A.fill(99);
A(1,2) += 101.0; // Error: Called object is not a function
A.print("A = ");
A.set_size(4,5); // Error: Too many arguments, expected 1
A.fill(77);
A.print("A = ");
return 0;
}
由于犰狳是header-only,所以我没有修改默认CMakeLists.txt
文件,只在main.cpp中包含了main header并复制armadillo_bits
到项目目录中。
我尝试使用 CMake 配置犰狳,但在 Windows 上,犰狳捆绑的 CMakeLists.txt 似乎只是复制了包含并在我的工作目录中创建了一个 config.hpp。
有没有办法在仅标头库中索引符号?
CLion 版本是 1.0 (141.353),Armadillo 版本是 5.0.1。我的平台是 Windows 8.1 x64,我使用的是 MinGW v64 4.9.2 (x86_64-4.9.2-win32-seh-rt_v4-rev2)
感谢任何试图调查此问题的人。