2014-03-06 63 views
0

我正在C++上编写一个需要线性系统分辨率的脚本。我环顾四周,发现LAPACK ++为我提供了实现这一目标的功能。不过,我一直在安装它们时遇到了很多麻烦。如何在linux上安装lapack ++

我有以下文件:

lapack.lib 
blas.lib 
libf2c.lib 
clapack.h 
f2c.h 

这些文件被给了我与Microsoft Visual Studio 2010前一段时间使用。从我读过的内容中我至少需要lapack.lib和blas.lib库,但是我不知道应该在哪里放置它们,或者安装什么。

我在网上搜索过,但是我收集的所有信息只让我感到困惑。如果有人能指引我正确的方向,我将非常感激。

谢谢。

PS1:考虑到我对Linux非常陌生。 PS2:我必须安装LAPACK ++还是将LAPACK做?因为似乎有关于晚于第一次的更多信息。

+0

您有_don't_的文件似乎是LAPACK ++,只有LAPACK,所以LAPACK实际上应该这样做。 –

回答

1

首先,您可以安装liblapack-devlibblas-dev(开发指的是库和包含文件)。

检查它尚未安装。如果你有文件,如/usr/lib/liblapack.a/usr/lib/libblas.a

要安装liblapack-devlibblas-dev,你可以使用包经理叫synaptic这是可能的。据http://ubuntuforums.org/showthread.php?t=1505249

“转到:系统 - >新立 - >管理 - >软件包管理器 - > 搜索上LAPACK(和/或BLAS),以及标志安装:

libblas3gf libblas-DOC libblas-dev的

liblapack3gf liblapack-DOC liblapack-dev的

- >应用“

(这是在Debian或Ubuntu上安装软件的常用方式,如果您是root用户)。

软件包管理器将询问您的管理员密码为“root”。您可以安装lapack++。据http://lapackpp.sourceforge.net/,打开一个终端,写(按在行尾输入):

./configure --prefix=/your/install/path 
make 
make install 

,如果你打字make install后面临类似permission denied,这可能是因为你没有修改文件夹的权限。您可以使用sudo make install做为管理员,但您确实需要相信软件的来源才能这样做......安全...最佳建议可能是更改/your/install/path,如/home/mylogin/softs/lapackpp,然后添加-L /home/mylogin/softs/lapackpp/lib -I /home/mylogin/softs/lapackpp/include以构建和链接代码。 -I表示add to include search path-L表示add to library search path ...您仍然需要信任该软件,但操作系统的风险较低,即sudo

要建立你的代码,去正确的文件夹,并键入类似

gcc main.c -o main -L /home/mylogin/softs/lapackpp/lib -I /home/mylogin/softs/lapackpp/include -llapackpp -llapack -lblas -lm 

如果你不是“根”,下载BLAS/LAPACK,并建立它!这与lapackpp完全相同。但是,当您安装lapackpp时,您可能需要添加选项以-configure ...来指示这些库位于何处。

告诉我们发生了什么事!

再见,

弗朗西斯

+0

Hi @francis。非常感谢您的帮助。我已经使用软件包管理器安装了您提到的所有软件包。之后,我运行命令'./configure --prefix =/mypath/lapackpp'。终端中发生了一些事情,但是当我运行'make'命令时,我收到警告'make:***没有指定目标,没有找到makefile。 Stop.'。该文件夹/ mypath/lapackpp也是空的。我试图再次运行'./configure --prefix =/mypath/lapackpp'命令,但我收到一条警告:'bash:./configure:没有这样的文件或目录。我做错什么了吗? –

+0

我的配置命令结束看起来像'config.status:执行libtool命令'。你是一样的吗?你在使用lapackpp-2.5.4吗?我忘了提及你应该首先使用命令'cd/path/to/lapack'到'/ path/to/lapackpp'文件夹(configure脚本所在的位置),然后输入'ls'来列出文件并检查' ./configure's在这里,然后'。/ configure' ...祝你好运! – francis

0

.lib文件是特定于操作系统。它们在Linux上是无用的。你需要一个Linux版本。

我假设我们正在谈论lapack++托管在sourceforge,是吗?

在这种情况下:

  • 谁给你的二进制文件(.lib文件)有义务给你的来源,如果你问他们。
  • 您可以在上述网站上获取最新消息。