7

我使用 Synaptic 安装了 liblapack-dev 及其依赖项,并将其包含<lapack.h>在我的代码中。

如果我尝试像这样编译我的程序......

mpicc program.c -llapack -o output

...我收到以下错误:

program.c:4:20: fatal error: lapack.h: No such file or directory 
compilation terminated.

我怎样才能解决这个问题?我已经花了几个小时在谷歌上搜索解决方案,但没有任何帮助。

我正在使用 Linux Mint,但我在最新版本的 Ubuntu 上尝试了相同的操作,但它仍然无法正常工作。当我尝试从我的程序中“消除”MPI 并使用 gcc 编译时,同样的事情。

4

2 回答 2

15

我在 Debian 上遇到了类似的问题。我注意到

dpkg -L liblapack-dev

没有返回单个头文件。所以我做了一些搜索,apt-cache发现似乎是 C 头文件。通过安装后

sudo apt-get install liblapacke-dev

(注意额外的 e!),我能够编译一个最小的工作示例,在此处找到。修改include顶部以读取

#include <lapacke.h>

并编译

gcc -llapack lapack_example.c

在我的系统上成功运行。希望这可以帮助某人。

于 2015-10-19T19:13:31.437 回答
3

回答是因为它不适合评论:

手册说:

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

所以也许你需要

#include <lapacke.h>
于 2012-12-25T22:57:53.627 回答