當前位置:首頁 » 編程軟體 » 編譯gsl

編譯gsl

發布時間: 2024-02-07 19:50:17

① 如何編譯Windows版本的GSL

GSL全名為GNU Scientific Library,是GNU發起的一個科學計算項目,採用C語言編寫,可以在C/C++開發中廣泛使用。因為是開源項目,在Windows平台下面沒有現成的安裝文件可供使用,一般需要自己編譯這個項目。現在我把自己從網上找的資料和自己編譯的經過匯總一下,寫成這個教程。­
在Windows平台上編譯GSL主要使用MinGW和MSYS這兩個工具,
(1)下載安裝 MinGW(安裝時選擇gcc,g++和Make這三項)­
(2)下載鉛讓纖安裝 MSYS­
(3)下載MinGW Utilities 解壓復制到MSYS安裝目錄­
(4)下載解壓gsl源碼
(5)進入gsl目錄,執行命令:­
./configure­

make­
make install­
(6)完成編譯之後,在MSYS安裝目錄下的­
local/bin有編譯了的gsl動態庫文件libgsl-0.dll libgslcblas-0.dll­
local/lib有編譯好了的靜態庫文件libgsl.a libgsl.dll.a libgslcblas.a libgslcblas.dll.a­
local/include有編程槐仿需要的gsl頭文件­
(7)此時你會發現,編譯的結果缺少lib文件,現在我們來生成lib文件­
cd /usr/local/bin­
pexports libgsl-0.dll >libgsl-0.def­
pexports libgslcblas-0.dll >libgslcblas-0.def­
這時候就生產了兩個def文件­
(8)使用VC6或以上版本的lib命令,生成lib文件,具體如下:­
lib /machine:i386 /def:libgsl-0.def­
lib /machine:i386 /def:libgslcblas-0.def­
(9)動態鏈接庫拷貝到系統的Windows文件夾下面;­
將gsl頭文件(local/include裡面的gsl目錄)拷貝到include文件夾下面;­
lib文件和*.a文件(local/lib下面)放到Lib文件夾下面,­
編譯器tools-options-directories添加Lib路徑和Include路徑­
最後一步就是在滑簡VC6的工程設置中的object/library moles裡面添加以下內容:­
libgslcblas-0.lib libgsl-0.lib­
至此,整個gsl的移植工作就完成了。­

② 如何學習gnu scientific library 源代碼

GNU scientific library 是一個強大的C,C++數學庫。它涉及的面很廣,並且代碼效率高,介面豐富。正好最近做的一個項目中用到多元高斯分布,就找到了這個庫。
GNU scientific library下載地址:http://ftpmirror.gnu.org/gsl/
相應說明文檔下載地址: http://www.gnu.org/software/gsl/manual/gsl-ref.ps.gz
下載之後,需要進行安裝,我使用的系統是ubuntu 12.04 LTS步驟如下:
1, ./configure
2, make
3, make install
這是把庫安裝在默認路徑的方法,這里是 /usr/local/lib
之後需要把/usr/local/lib 這個路徑添加到 LD_LIBRARY_PATH:
export LD_LIBRARY_PATH=/usr/local/lib:$LD_LIBRARY_PATH
以上就是整個安裝步驟,之後就可以在c,c++程序中進行調用了。

編譯和調用的時候,也有一些需要注意的地笑大兆方:
編譯時需要加上一些後綴:
g++ xxx.cpp -lgsl -lgslcblas -lm
調用時,只需要包含相應模塊的頭文件即仿塵可(說明文檔裡面會有提到函數對應的頭文件名)
庫的頭文件都是放在 gsl/目錄下的,寫的時候,按照下面的寫法就行。
#include <gsl/xxx.h>
以上就是本人使用 GNU scientific library 的一些體會。這個庫確實很實用,碰租有不少地方值得挖掘。對於要常常在程序中使用到高等數學知識的程序員,是個不可多得的好東西。

③ gsl函數庫中的h文件的作用。比如說gsl_block_uint.h,gsl_matrix_ushort.h等等,我qq是405501625.

h文件中放的是變數、函數的聲明,只有引用了帶有改變數、函數聲明的h文件,才能用該變數、函數

④ 在VC中添加其他支持庫和頭文件的問題

如果都 .h/.lib都設置好了,編譯是沒有問題派清核的。.dll設置好了連接運行是正頌沒有問題的。
(不知道你的GSL包的版本對不對,是不是fow vc 版本的,如果不是,請下載一個vc 版本的)。

一般第三方開發包在VC中使用的時候,需要預定義宏的設置(工程項目設置裡面添加)。GSL好像是 GSL_DLL。你搜索一下編譯錯塵掘誤提示的符號名稱,看在哪個頭文件裡面,然後在這個頭文件的前面找預定義宏,加到VC工程的項目設置裡面

有個GSL的文章,你看看
http://hi..com/yilinghl/blog/item/038ee5241f846f3a8644f9bf.html

熱點內容
c語言局部變數與全局變數 發布:2024-11-16 08:37:38 瀏覽:488
安卓蘋果是什麼意思啊 發布:2024-11-16 08:36:03 瀏覽:871
泛型方法編譯 發布:2024-11-16 08:36:01 瀏覽:874
造夢西遊記的密碼和用戶名是什麼 發布:2024-11-16 08:30:22 瀏覽:338
cmake編譯zlib出錯 發布:2024-11-16 08:26:32 瀏覽:441
realmegt大師探索版買哪個配置 發布:2024-11-16 08:25:49 瀏覽:150
手機安卓線是什麼 發布:2024-11-16 08:25:40 瀏覽:351
絕地求生怎麼開一個伺服器 發布:2024-11-16 08:21:11 瀏覽:757
安卓系統轉轉競拍在哪裡進入 發布:2024-11-16 08:20:37 瀏覽:851
用python求和 發布:2024-11-16 08:07:07 瀏覽:8