以上是线性代数库。我正在使用犰狳,它就像一个 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
或使用绝对路径
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 有点陌生。