我正在c++上写一个脚本,它需要线性系统的解析度。我环顾四周,发现LAPACK++为我提供了实现这一目标的函数。然而,仅仅安装它们我就遇到了很多麻烦。
我有以下文件:
lapack.lib
blas.lib
libf2c.lib
clapack.h
f2c.h这些文件是前段时间给我用在microsoft visual studio 2010上的。根据我所读到的内容,我至少需要lapack.lib和blas.lib库,但是我不知道把它们放在哪里,或者安装什么。
我在网上搜索过,但我收集的所有信息只会让我更困惑。如果有人能给我指出正确的方向,我将不胜感激。
谢谢。
PS1:考虑到我对Linux还很陌生。PS2:我一定要安装LAPACK++吗?还是可以?因为后者似乎比第一个有更多的信息。
发布于 2014-03-07 05:46:57
首先,您可以安装liblapack-dev和libblas-dev (dev指库和包含文件)。
检查它是否尚未安装。如果您有诸如/usr/lib/liblapack.a和/usr/lib/libblas.a之类的文件,则可能会出现这种情况
要安装liblapack-dev和libblas-dev,您可以使用名为synaptic的包管理器。根据http://ubuntuforums.org/showthread.php?t=1505249的说法,
“转到: System -> Synaptic -> Administration -> Package Manager -> search on lapack (和/或blas),并标记为安装:
libblas3gf库-文档库-开发
liblapack3gf liblapack-文档liblapack-dev
->应用“
(如果您是root用户,这是在Debian或Ubuntu上安装软件的常用方法。)
包管理器将要求您提供管理员的密码"root“。
然后,您可以安装lapack++。根据http://lapackpp.sourceforge.net/,打开终端并写入(在行尾按enter键):
./configure --prefix=/your/install/path
make
make install如果您在键入make install后出现类似permission denied的内容,可能是因为您没有修改文件夹的权限。你可以使用sudo make install作为管理员来做这件事,但是你真的需要信任软件的来源来做so...security...Best建议可能是将/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...you仍然需要信任该软件,但它对sudo操作系统的风险更小。
要构建您的代码,请转到正确的文件夹并键入类似于
gcc main.c -o main -L /home/mylogin/softs/lapackpp/lib -I /home/mylogin/softs/lapackpp/include -llapackpp -llapack -lblas -lm如果您不是"root",请下载blas/lapack并构建它!这与lapackpp的过程完全相同。但是,在安装lapackpp时,您可能需要在这些库所在的-configure...to signal中添加选项。
告诉我们发生了什么!
再见,
弗朗西斯
发布于 2014-03-07 05:47:33
.lib文件是特定于操作系统的。它们在Linux上是无用的。您需要一个Linux版本。
我假设我们谈论的是托管在sourceforge上的lapack++,对吗?
在这种情况下:
给你二进制文件(.lib文件)的
https://stackoverflow.com/questions/22234700
复制相似问题