以上是线性代数库。我正在使用armadillo,它就像一个c ++包装器/框架,用于链接到fortran中更基本的线性代数库。
我可以通过使用带有-I标志的gcc -c选项#include“armadillo”来轻松编译example.cpp。 这会生成example.o,现在应该链接到liblapack_LINUX.a和libBLAS_linux.a静态
两者的位置:
liblapack_LINUX.a :-/home/nimish/HTMLProjects/WP2/lib/lapack/
libBLAS_linux.a :-/home/nimish/HTMLProjects/WP2/lib/blas
我发出以下命令:
gcc -o example.o -L../lib/blas -lblas_LINUX -L../lib/lapack -llapack_LINUX
OR与绝对路径
nimish@ubuntu:~$ gcc -o example.o -L/home/nimish/HTMLProjects/WP2/lib/blas -lblas_LINUX -L/home/nimish/HTMLProjects/WP2/lib/lapack -llapack_LINUX
得到错误:
/usr/bin/ld: cannot find -lblas_LINUX
collect2: ld returned 1 exit status
但是库确实存在 -
nimish@ubuntu:~$ find /home/nimish/HTMLProjects/WP2 -name liblapack_LINUX.a
/home/nimish/HTMLProjects/WP2/lib/lapack/liblapack_LINUX.a
nimish@ubuntu:~$ find /home/nimish/HTMLProjects/WP2 -name libblas_LINUX.a
/home/nimish/HTMLProjects/WP2/lib/BLAS/libblas_LINUX.a
我做错了什么?我对这个连接图书馆业务以及gcc有点新。
答案 0 :(得分:0)
首先你需要确保你使用(+lapack)安装了BLAS
sudo apt-get install libblas-dev liblapack-dev
然后您可以在程序文件后使用 -lblas 进行链接。或者您可以使用 make 文件。
在我看来,我更喜欢使用 OpenBlas,您可以在 makefile 中使用以下内容。
完成后,您应该拥有文件 libopenblas.a,即 openblas 库