GSL 在 Windows開發環境下的使用

标签:

GSL(GNU Scientific Library)是一個非常不錯的科學計算函數庫,本站前面已經有文章對此做過介紹,本文将主要介紹在Win32平臺三個不同的開發環境下如何使用這個軟件庫。

首先下載GSL win32的套裝程序,地址在gnuwin32 GSL需要下載 BinariesDeveloper files 。下載後解壓到一個目錄D:\temp中,然後開始進入下面的步驟。

下面介紹三個不同的開發環境:MingW、Visual C++ 7.0 和 Borland C++ Builder。

一、MingW

首先將D:\temp下bin目錄中的兩個dll動態鏈結庫(libgsl.dll和libgslcblas.dll)複製到 mingw 的 bin 目錄中(gcc路徑必須在 PATH 中)或者乾脆直接複製到 C:\Windows 或者 C:\Windows\system32 中,總之是程序運行的話必須可以找到這兩個動態鏈結庫。

再將 D:\temp\include\ 下 gsl 目錄完整複製到 mingw 的 include 目錄中去,這些全是頭文件,開發程序時必須會用到的。然後將 D:\temp\lib 下的 libgsl.a 和 libgslcblas.a 複製到 mingw 的 lib 目錄下。

現在一切都準備好了,可以嘗試編譯一個測試程式看看是否運行正常,這樣的話,整個開發過程與 Linux 下開發 GSL 程序完全一樣。

編譯命令是:

gcc test.c -o text.exe -lgsl

二、Visual C++ 7.0

如前所述,需要先將那兩個動態鏈結庫複製到PATH路徑中的目錄下,然後複製D:\temp\include\ 下 gsl 目錄到 Visual C++ 的 Include 目錄下,再將 D:\temp\lib 下的 libgsl.lib 和 libgslcblas.lib 複製到 Visual C++ 的 lib 目錄下。

這樣準備工作就做完了,下來拿一個簡單的程序來測試:

編譯命令是:

cl test.c /link libgsl.lib

用IDE時則是需要將這兩個lib檔加到 link 參數中去即可。

三、Borland C++ Builder

依然同前,需要先將那兩個動態鏈結庫複製到PATH路徑中的目錄下,然後複製D:\temp\include\ 下 gsl 目錄到 Borland C++ Builder 的 Include 目錄下。

下來的步驟稍有麻煩,進入那兩個dll所在目錄,用BCB所帶的 implib 工具產生2個需要用到的 lib 文件,命令如下:

implib -af libgsl.lib libgsl.dll
implib -af libgslcblas.lib libgslcblas.dll

然後將這兩個lib文件複製到 BCB 的 lib 目錄下即可。D:\teml\lib 下的 libgsl-bcc.lib 和 libgslcblas-bcc.lib 經過我試驗在BCB編譯中不可用。只能用implib產生的lib檔。

現在開始測試,編譯命令:

bcc32 test.c libgsl.lib

命令行是如此,如果你用BCB的IDE的話,就更簡單了,將這兩個lib文件名加到編譯參數中就可以了。

事情的經過就這麼簡單。

下麵是test.c的源碼

#include <stdio .h>
#include <gsl /gsl_sf_bessel.h>

int main (void)
{
   double x = 5.0;
   double y = gsl_sf_bessel_J0(x);
   printf ("J0(%g) = %.18en", x, y);
   return 0;
}