当我在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;
}
Run Code Online (Sandbox Code Playgroud)
由于Armadillo只是标题,我没有修改默认CMakeLists.txt文件,只包含main.cpp中的主标题并复制armadillo_bits到项目目录中.
我试图用CMake配置Armadillo,但在Windows上,似乎Armadillo捆绑的CMakeLists.txt只是复制了包含并在我的工作目录中创建了一个config.hpp.
有没有办法在仅头文件库中索引符号? …