GNU系列Windows下編譯安裝的通用步驟

詳細參考的文件夾內的README和INSTALL
下面的步驟以gnu gsl-2.3的爲標準
我們的目的是在VS2010上使用gsl-2.3

準備步驟安裝MinGW和MSYS

MinGW的本質是GCC在Windows上的一個實現,其與CygWin/gcc都是GCC在Windwos下的編譯環境.二者的不同的是CygWin/gcc完全可以Linux下的GCC化等號.在CygWin/gcc做的東西可以無縫用在Linux下,無用問題.但是產品若在的Windows下執行的話就好依賴cygwinl.dll.而MinGW本質是GCC在Windows上的一個實現,不像CygWin/gcc在一個虛擬Linux上運行所以有一些工具不能使用(不過好處比CygWin更快).MSYS作爲一個Linux的shell模擬,可與MinGW一同安裝.
(由於筆者的MinGW沒有安裝pexports:特意說明下pexports的安裝指令:mingw-get install mingw32-pexports(其他工具安裝同理))

好了現在準備工作已經做好了現在的安裝
運行MinGW/msys/1.0/下的msys.dat進入模擬shell
在shell中打開gsl的文件
./configur (來確定平臺等編譯的信息,生成makefile,可以通過的參數來對安裝目錄等進行控制)
make (對源代碼進行編譯)
makeinstall (進行安裝)
makeclean (刪除臨時文件)

好了現在安裝完成了,讓我們來到msys下的local文件夾看看我們得到了什麼
/include 毫不意外的裏面是gsl的全部頭文件
/bin 得到了libgsl.dll和libgslcblas.dll

如果想顯調用的話到這裏就可以,不過我們要隱調用的話驚訝的發現裏面沒有lib(在LIB文件夾下生成都是.a文件,Windosw下無法使用)
這時我們之前的pexports就派上用場了.
還是在msys中打開/bin 輸入語句
pexporsts libgsl.dll >libgsl.def
pexporsts libgslcblas.dll >libgslcblas.def
(隨便說下DEF的作用就是爲鏈接器提供有關被鏈接程序的導出屬性等信息 等抽空詳細介紹下)
之後在vs2010的shell下用lib指令就可以生成我們的lib了
lib /def:libgsl.def /out:libgsl.lib
lib /def:libgslcblas.def /out:libgslcblas.lib

只有就是正常添加和放入DLL了~

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章