【发布时间】:2011-12-14 00:46:33
【问题描述】:
我在 C 中做一些矩阵乘法,我正在尝试编译我的程序,但是它无法编译,原因是:
没有这样的文件或目录 cblas.h
这是我用来编译的命令:
gcc -o BLAS BLAS.c
有人可以帮帮我吗?我正在服务器上编译这个程序。我不确定这是否会有所作为。
【问题讨论】:
我在 C 中做一些矩阵乘法,我正在尝试编译我的程序,但是它无法编译,原因是:
没有这样的文件或目录 cblas.h
这是我用来编译的命令:
gcc -o BLAS BLAS.c
有人可以帮帮我吗?我正在服务器上编译这个程序。我不确定这是否会有所作为。
【问题讨论】:
您需要添加一个-I directory 选项,其中directory 是您系统上cblas.h 文件所在的位置。
这给出了:
gcc -o BLAS -I directory_of_cblas_header BLAS.c
【讨论】:
find / -name cblas.h,它应该指出文件cblas.h在你的系统上的位置。
您必须为您正在使用的库的头文件添加路径。试试-I 选项:
gcc -o -I "path/to/you/headers" BLAS BLAS.c
【讨论】:
我正在使用 RedHat7。
sudo yum install openblas-devel安装openblas后
我发现头文件(cblas.h、f77blas.h、lapacke_config.h、lapacke.h、lapacke_mangling.h、lapacke_utils.h、openblas_config.h)在/usr/include/openblas/。
通过在/usr/include/中创建指向这些文件的软链接,问题就解决了。
【讨论】:
/usr/include 的单独子目录中。所以你要么#include <openblas/whatever.h> 要么给你的预处理器一个-I 标志或等价物告诉它也在/usr/include/openblas 中搜索。您不会在 include 的根目录中开始符号链接。