2014-03-06 92 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文件)有義務給你的來源,如果你問他們。
  • 您可以在上述網站上獲取最新消息。