我使用Synaptic安装了liblapack-dev及其依赖项,并将其包含<lapack.h>在我的代码中.
如果我尝试像这样编译我的程序......
mpicc program.c -llapack -o output
Run Code Online (Sandbox Code Playgroud)
...我收到以下错误:
program.c:4:20: fatal error: lapack.h: No such file or directory
compilation terminated.
Run Code Online (Sandbox Code Playgroud)
我怎样才能解决这个问题?我已经花了几个小时搜索解决方案,但没有任何帮助.
我正在使用Linux Mint,但我在最新版本的Ubuntu上尝试了相同的东西,它仍然无法正常工作.当我尝试从我的程序中"消除"MPI并使用gcc编译时,同样的事情.
Ste*_*ank 10
我在Debian上遇到过类似的问题.我注意到了
dpkg -L liblapack-dev
Run Code Online (Sandbox Code Playgroud)
没有返回单个头文件.所以我做了一些搜索,apt-cache发现似乎是C头.安装后通过
sudo apt-get install liblapacke-dev
Run Code Online (Sandbox Code Playgroud)
(注意额外的e!),我能够编译一个最小的工作示例,在这里找到.修改include顶部阅读
#include <lapacke.h>
Run Code Online (Sandbox Code Playgroud)
和编译
gcc -llapack lapack_example.c
Run Code Online (Sandbox Code Playgroud)
在我的系统上成功运行.希望这有助于某人.
回答是因为它不适合评论:
手册说:
Standard C language APIs for LAPACK
collaboration LAPACK and INTEL Math Kernel Library Team
LAPACK C INTERFACE is now included in the LAPACK package (in the lapacke directory)
LAPACKE User Guide
Updated: April 20, 2012
header files: lapacke.h, lapacke_config.h, lapacke_mangling.h, lapacke_utils.h
Run Code Online (Sandbox Code Playgroud)
所以也许你需要
#include <lapacke.h>
Run Code Online (Sandbox Code Playgroud)