天天看點

【C++】GSL(GNU Scientific Library) 的安裝及在 Visual Studio 2017 中的使用

GSL 是 GNU 開發并維護的科學計算的庫,其中包括:

複數 | 多項式的根

  • | :-: | -:

    特殊函數 | 向量和矩陣

    排列 | 排序

    BLAS支援| 線性代數

    Eigensystems| 快速傅立葉變換

    正交 |随機數

    準随機序列 |随機分布

    統計 |直方圖

    N元組 |蒙特卡洛整合

    模拟退火 |微分方程

    插值 |數值微分

    切比雪夫逼近 |系列加速

    離散Hankel變換 |求根

    最小化 |最小二乘拟合

    實體常數 |IEEE浮點

    離散小波變換 |基礎樣條

    運作統計 |稀疏矩陣與線性代數

使用文檔

【GNU Scientific Library】

安裝教程

環境:作業系統 Windows 10,IDE:Visual Studio 2017,GSL 版本:2.5

1. 下載下傳GSL

可以在ftp 上下載下傳:ftp://ftp.gnu.org/gnu/gsl/

下載下傳2.5版本的并解壓好。

2. 下載下傳 MinGW

MinGW 提供了一個完整的開源程式設計工具集,且不依賴于任何第三方 C 運作時庫。相比 Cygwin 更精簡,不提供 POSIX 環境。

它包括:

  • GNU Compiler Collection(GCC),包括C,C ++,ADA 和 Fortran 編譯器
  • GNU工具,包括彙程式設計式,連結程式,歸檔管理器
  • mingw-get(指令行安裝程式),帶有可選的GUI前端,用于部署 MinGW 和 MSYS
  • mingw-get-setup(GUI 首次設定工具),讓你開始使用mingw-get。

MSYS 是 “Minimal SYStem” 的縮寫,是 Bourne Shell 指令行解釋器系統。作為微軟的 cmd.exe 的替代品,它提供了一個通用的指令行環境,特别适合與 MinGW 一起使用,用于将許多開源應用程式移植到 MS-Windows 平台; 它是 Cygwin-1.3 的輕量級分支,它包含一小部分 Unix 工具。

下載下傳 MinGW 安裝程式:https://sourceforge.net/projects/mingw/files/

安裝時選上 Basic Setup,然後 Installation->Apply Changes,等待安裝完成。接着添加環境變量,預設安裝路徑是

C:\MinGW

,是以添加上

C:\MinGW\bin

如果之前安裝過 MinGW,但沒有安裝MSYS,則隻需安裝 MSYS。

3. 安裝 GSL

運作

C:\MinGW\msys\1.0\msys.bat

,cd進入到解壓好的 gsl 檔案夾,例如在

D:/gsl-2.5

cd /d/gsl-2.5/
           

然後執行安裝指令:

./configure && make && make install
           

安裝好後,會在

C:\MinGW\msys\1.0\local

中多出以下四個目錄:

  • bin
  • include
  • lib
  • share

4. 配置Visual Studio 2017中的項目

點選菜單“項目”->“Project 1屬性”:

  • 選擇“VC++目錄”:
    • “包含目錄”加上

      C:\MinGW\msys\1.0\local\include

    • “庫目錄”加上

      C:\MinGW\msys\1.0\local\lib

  • 選擇“C/C++”->“預處理器”:
    • “預處理器定義”加上

      WIN32;GSL_DLL;

  • 選擇“連結器”->“輸入”:
    • “附加依賴項”加上

      libgsl.dll.a;libgslcblas.dll.a

      點“确定”。

5. 編譯運作

  • 将之前

    bin

    目錄下的

    libgsl-23.dll

    libgslcblas-0.dll

    放到

    Project1\Debug

    目錄下,也就是之後 exe 所在的目錄。
  • 編譯運作。

┆涼┆暖┆降┆等┆幸┆我┆我┆裡┆将┆ ┆可┆有┆謙┆戮┆那┆ ┆大┆始┆ ┆然┆

┆薄┆一┆臨┆你┆的┆還┆沒┆ ┆來┆ ┆是┆來┆遜┆沒┆些┆ ┆雁┆終┆ ┆而┆

┆ ┆暖┆ ┆如┆地┆站┆有┆ ┆也┆ ┆我┆ ┆的┆有┆精┆ ┆也┆沒┆ ┆你┆

┆ ┆這┆ ┆試┆方┆在┆逃┆ ┆會┆ ┆在┆ ┆清┆來┆準┆ ┆沒┆有┆ ┆沒┆

┆ ┆生┆ ┆探┆ ┆最┆避┆ ┆在┆ ┆這┆ ┆晨┆ ┆的┆ ┆有┆來┆ ┆有┆

┆ ┆之┆ ┆般┆ ┆不┆ ┆ ┆這┆ ┆裡┆ ┆沒┆ ┆殺┆ ┆來┆ ┆ ┆來┆

繼續閱讀