我得到;h:没有这样的文件或目录;虽然我安装了liblapack dev

我得到;h:没有这样的文件或目录;虽然我安装了liblapack dev,c,lapack,C,Lapack,我使用Synaptic安装了liblapack dev及其依赖项,并在代码中包含了 如果我试着像这样编译我的程序 mpicc program.c -llapack -o output …我得到以下错误: program.c:4:20: fatal error: lapack.h: No such file or directory compilation terminated. 我怎样才能解决这个问题?我已经花了几个小时在谷歌上搜索解决方案,但没有任何帮助 我使用的是LinuxMint,但

我使用Synaptic安装了liblapack dev及其依赖项,并在代码中包含了

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

mpicc program.c -llapack -o output
…我得到以下错误:

program.c:4:20: fatal error: lapack.h: No such file or directory 
compilation terminated.
我怎样才能解决这个问题?我已经花了几个小时在谷歌上搜索解决方案,但没有任何帮助


我使用的是LinuxMint,但我在最新版本的Ubuntu上尝试了同样的方法,但仍然不起作用。当我尝试从程序中“消除”MPI并使用gcc编译时,情况也是如此

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

委员会:

用于LAPACK的标准C语言API LAPACK与英特尔数学内核库团队的合作 LAPACK C接口现在包含在LAPACK包中(在LAPACK目录中) 拉帕克用户指南 更新日期:2012年4月20日 头文件:lapacke.h、lapacke_config.h、lapacke_mangling.h、lapacke_utils.h 所以也许你需要

#include <lapacke.h>
#包括

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

dpkg -L liblapack-dev
没有返回单个头文件。所以我用aptcache做了一些搜索,找到了似乎是C头的东西。安装via后

sudo apt-get install liblapacke-dev
(注意额外的e!),我能够编译一个最小的工作示例,found。修改顶部的
包含
以读取

#include <lapacke.h>

在我的系统上成功运行。希望这对其他人有所帮助。

找到
lapack.h
头,也许您需要设置编译器的include路径。@Daniel Fischer:如何准确找到lapack.h头?如果我在终端中输入“locate lapack.h”,我什么也得不到。如果我输入“locate liblapack dev”,我会得到一些结果。如何设置编译器的include路径?我的意思是,我已经尝试过做类似的事情(或者至少我认为我做过),但没有成功。大多数编译器都有一个
-I
或类似的命令行选项,允许指定包含路径。有关特定编译器的命令选项,请参阅帮助文档、相应的手册页或谷歌。如果
locate lapack.h
未找到该命令,则可能根本没有该命令,或者安装lapack后未更新数据库
locate
uses。在后一种情况下,运行
updatedb
(可能需要
sudo
)将允许它是
locate
d。您还可以使用
find
(如果Mint有GUI界面,也可以使用GUI界面)对其进行搜索。它可能位于
/usr/include
/user/lib
/usr/lib64
/usr/local
下。重新包含路径,正如StarPilot所说,但我不知道mpicc。@Daniel Fischer:我尝试过更新数据库,现在只得到了“/usr/include/atlas/clapack.h”。我将对此进行投票,因为你试图帮助我,但事实是:我实际上是先尝试过的,这是我最终想要使用的(lapacke),但后来我意识到,即使是lapack也没有(不带“e”)对我有效,我想我应该先让它工作(因为lapacke是lapack的一部分).Ah,但关键是,据我所知,没有
lapack.h
。也许这更能说明问题。有lapack.h是因为我见过其他计算机上使用它的程序。我已经看过《用户指南》。诚然,我还没有阅读全部内容,但我仍然没有找到解决问题的方法我似乎与此相关。我搜索了源代码,至少LAPACK包没有
LAPACK.h
。它提供的C接口是LAPACKE,但您必须在调用的函数前面加前缀,
info=LAPACKE\dgels(LAPACK\u ROW\u MAJOR,'N',m,N,nrhs,*a,lda,*b,ldb)
等。可能在旧版本中有一个
lapack.h
,或者它来自另一个使用它的软件包。我找不到任何关于将lapack与
lapack.h
与谷歌一起使用的帮助,对不起。是的,对不起,我想你可能是对的,“lapack.h”甚至可能是Fortran唯一的东西(我看到的可能是“mkl\u lapack.h”)?)谢谢,这帮助我编译了opencv。
gcc -llapack lapack_example.c