⑴ 濡備綍浣跨敤 Homebrew 瀹夎呮寚瀹氱増鏈鐨勫伐鍏
Homebrew 鏄涓涓 Mac 涓嬬殑瀹夎呯$悊 Unix 宸ュ叿鐨勫伐鍏楓傚畨瑁呭ソ涔嬪悗錛屽湪鍛戒護琛屼笅浣跨敤 brew install FORMULANAME灝卞彲浠ュ畨瑁 FORMULANAME 瀵瑰簲鐨勫伐鍏鳳紝瀹冧細澶勭悊濂戒緷璧栧叧緋伙紝闈炲父鏂逛究銆傞粯璁ゆ儏鍐典笅錛屽畨瑁呮渶鏂扮増鏈銆
浣嗘槸鍦ㄦ煇浜涙儏鍐典笅錛屾垜浠鍙鑳介渶瑕佸畨瑁呪滄棫鈥濈増鏈鐨勫伐鍏鳳紝鎴栬呰村畨瑁呮寚瀹/鐗瑰畾鐗堟湰鐨勫伐鍏鳳紝璇ユ庝箞鍔炲憿錛熻繕濂斤紝Homebrew 宸茬粡鎻愪緵浜嗚繖綾葷殑鏀鎸併
浠婂ぉ瀹夎 gsl 榪欎釜 rubygem 錛岀紪璇戞湰鍦板簱鏃跺け璐ヤ簡銆傛垜鏈哄櫒鐨勭幆澧冩槸錛
gsl-1.15
ruby-1.9.3p125
鍏朵腑 gsl 鏄浣跨敤 brew install gsl 瀹夎呯殑錛屽畨瑁呬簡鏈鏂扮殑1.15鐗堟湰銆傛墽琛 gem install gsl 鏃剁殑涓鏉¢敊璇淇℃伅鏄錛
conflicting types for 鈥榞sl_matrix_complex_equal鈥
浜庢槸欏虹潃榪欐潯閿欒淇℃伅 Google 錛屽彂鐜板緢澶氫漢閮介亣鍒拌繖涓闂棰樹簡銆傛湁浜鴻達紝搴旇ュ畨瑁 gsl-1.14 鑰屼笉鏄 gsl-1.15 銆傝屾渶鏂扮殑 gem 鐗堟湰涓 1.14.7 銆傜湅鏉ュ緢鍙鑳芥槸鐗堟湰涓嶅吋瀹廣
鎵浠ユ垜闇瑕佺粰 gsl 闄嶇駭銆 鐢變簬 gsl 鏄閫氳繃 Homebrew 瀹夎呯殑錛屾墍浠ラ渶瑕佹壘鍒板畨瑁呯壒瀹氱増鏈宸ュ叿鐨勬柟娉曘備簬鏄鍦 Stackoverflow 涓婃壘鍒頒簡鏂規硶銆傚叾瀹炲緢綆鍗曪細
1. 鏌ョ湅 brew 鏀鎸佸摢浜涚増鏈鐨 gsl
$ brew versions gsl
1.15 git checkout 164c57f /usr/local/Library/Formula/gsl.rb
1.14 git checkout 83ed494 /usr/local/Library/Formula/gsl.rb
1.13 git checkout b0b2584 /usr/local/Library/Formula/gsl.rb
闈炲父騫歌繍錛1.14 鍖呮嫭鍦ㄥ唴銆
2. 榪涘叆 brew 鎵鍦ㄧ殑git浠撳簱
cd `brew --prefix`
3. 澶嶅埗綺樿創鍒氭墠 brew versions sql 鍛戒護鐨勬彁紺恆傛墽琛
git checkout 83ed494 /usr/local/Library/Formula/gsl.rb
4. 姝ゆ椂瀹夎呬嬌鐢 brew install gsl 浼氭彁紺洪敊璇
Error: gsl-1.15 already installed
To install this version, first `brew unlink gsl'
鍥犳ら渶瑕佸厛鍙栨秷涔嬪墠鐨勯摼鎺ワ紝鎵ц
brew unlink gsl
鎻愮ず
Unlinking /usr/local/Cellar/gsl/1.15... 16 links removed
5. 瀹夎呮垚鍔
brew install gsl
⑵ 如何編譯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的移植工作就完成了。