花了将近一周时间完成这个事情,问题没出在下载上,出在如何调用第三方库上。
手动下载
下载网址:Armadillo: C++ library for linear algebra & scientific computing
下载后有一个readme.md文件,里面有安装和连接库的详细操作。
本人下载后在c_cpp_properties.json中添加include路径,
"includePath": [
"/Users/fish/Desktop/thirdlib/armadillo-11.0.1/include/armadillo_bits/**",
"/Users/fish/Desktop/thirdlib/armadillo-11.0.1/include/**"
],
尝试运行example1, 但出现
error: "*** C++11 compiler required; enable C++11 mode in your compiler, or use an earlier version of Armadillo"
查阅后发现没有配置C++11,于是在settings.json中添加如下字段:
"code-runner.executorMap": {
"cpp": "cd $dir && g++ $fileName -std=c++11 -o $fileNameWithoutExt.exe && ./$fileNameWithoutExt.exe"
},
之前error解决了,但出现了
clang: error: linker command failed with exit code 1 (use -v to see invocation)
最后仔细阅读readme.md文件,发现应该使用如下格式代码,方可完成配置。
"code-runner.executorMap": {
"cpp": "cd $dir && g++ $fileName -o $fileNameWithoutExt -O2 -std=c++17 -larmadillo && ./$fileNameWithoutExt"
},
由于怀疑是下载问题,曾根据readme文件采用cmake方法安装,将库安装至/usr/local/include/路径中,因此,将上文中的include path删了对调用该库无影响。
cmake法安装库:
cmake . -DCMAKE_INSTALL_PREFIX:/usr/local/include/=alternative_directory
参考链接: