VS2010下GSL的配置(成功編譯運行)


一、下載gsl

1、從http://gnuwin32.sourceforge.net/packages/gsl.htm下載Complete package, except sources和Sources兩個exe文件。

 

二、安裝

1、 首先安裝從http://gnuwin32.sourceforge.net/packages/gsl.htm下載的兩個文件gsl-1.8.exe和gsl-1.8-src.exe。

 

三、設置VS2010編譯環境

 1、生成lib文件。發現安裝目錄lib下並沒有libgsl.lib,libgslcblas.lib這兩個文件,倒是有兩個擴展名為def和a(linux下庫文件包格式)的文件,因此必須進行轉換。

  開始菜單,要用VS帶的CMD命令行去跑,不能用windows系統下的CMD!!!

 

  進入gsl庫的lib目錄下依次輸入以下兩條語句:
    lib /machine:i386 /def:libgsl.def
    lib /machine:i386 /def:libgslcblas.def

再看lib目錄下,發現有了libgsl.lib,libgslcblas.lib這兩個文件。

 2、將x:\Program Files\GnuWin32l\bin中的libgsl.dll和libgslcblas.dll復制到D:\Program Files\Microsoft Visual Studio 10.0\VC\Bin;將\include整個Gsl目錄復制到D:\Program Files\Microsoft Visual Studio 10.0\VC\include下;\lib目錄下的所有.lib文件全部復制到D:\Program Files\Microsoft Visual Studio 10.0\VC\Lib下。

(如果這樣添加了其實下面指定的前兩個都不需要,因為在系統中已經有了這些文件,但不建議按這種方法指定,這樣會使系統VC庫中的東西非常混亂,強烈建議使用下面這種指定路徑的方法!!)

 

在Project -> tracking-> Configuration Properties -> C/C++ -> General -> Additional Include Directories 中增加頭文件路徑。

    在Project -> tracking -> Configuration Properties -> C/C++ -> General -> Additional Library Directories 中增加庫文件路徑。

    在Project -> tracking  -> Configuration Properties -> Linker -> Input -> Additional Dependencies 中增加所依賴的庫文件libgsl.lib和libgslcblas.lib。

 

重要tips:需要在c/c++的command line里添加  /D "GSL_DLL",這個問題折磨了我一天。。。。

 

五、測試Gsl函數庫

 

#include <iostream>

#include <gsl_sf.h>

int main()

{

       std::cout << gsl_sf_gamma_inc( 1.5, 0.5 ) << std::endl;

       std::cout << gsl_sf_gamma_inc_Q( 1.5, 0.5 ) << std::endl;

       std::cout << gsl_sf_gamma_inc_P( 1.5, 0.5 ) << std::endl;

       std::cin.get();

       return 0;

}

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM