我得到"lapack.h:没有这样的文件或目录",虽然我安装了liblapack-dev

iCa*_*arn 5 c lapack

我使用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)

在我的系统上成功运行.希望这有助于某人.

  • 谢谢,这帮助我获得opencv编译. (2认同)

Dan*_*her 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
Run Code Online (Sandbox Code Playgroud)

所以也许你需要

#include <lapacke.h>
Run Code Online (Sandbox Code Playgroud)