Mac安装armadillo并在vs code中调用

百里意智
2023-12-01

花了将近一周时间完成这个事情,问题没出在下载上,出在如何调用第三方库上。

手动下载

下载网址: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

参考链接:

https://blog.csdn.net/Wannna/article/details/105109375 

 类似资料: