C-缺少标头文件时链接到BLA

  • 本文关键字:链接 BLA 文件 c gcc blas
  • 更新时间 :
  • 英文 :


我正在尝试编译C中使用线性代数的BLAS接口的程序。该系统在/usr/lib64/libblas.*.a.so文件)中具有BLAS库,但/usr/include中没有cblas.h。我尝试在本地复制标题并编译以下简单程序:

#include <stdio.h>
#include <cblas.h>
int main() {
    double foo[] = {1.1,1.2,1.3};
    printf("Vector norm: %gn",cblas_dnrm2 ( 3, foo, 1 ));
}

带有选项

gcc blas_test.c -L/usr/lib64 -lblas -I.

但获取错误undefined reference to 'cblas_dnrm2'

如何正确链接提供的库?


更新:如果我尝试链接到libcblas.so.3/usr/lib64/atlas中的libcblas.so.3.0,则喜欢:

gcc blas_test.c -L/usr/lib64/atlas -lcblas -I.

我得到错误/usr/bin/ld: cannot find -lcblas。同样,它发现标题文件正好,但找不到共享库对象。

似乎GCC寻找.a.so文件,而不是.so.3文件。解决以下内容:

gcc blas_test.c -L /usr/lib64/atlas -l :libcblas.so.3 -I.

相关内容

  • 没有找到相关文章

最新更新