2012-11-07 64 views
14

我正在使用Qt 4.8.3和QtCreator,我已經按照說明here使用msvc2010編譯了Qt 4.8.3和QtCreator。然而,現在我需要鏈接到GSL(Gnu科學圖書館),但是目前我只知道如何用g ++來構建它,正如所描述的here所產生的鏈接器錯誤,無疑是出於@EvanTeran回答中給出的原因。然而,就我而言,通過cygwin構建Q ++與g ++可能不是一種選擇 - 我只是在多日的噩夢中度過,在這期間我試圖做到這一點,但不能,如記錄here。當然有一種方法可以用msvc2010構建gsl,但是如何?我安裝了VS 2012 Express(儘管我以前從未使用過),以防使用它的解決方案。如何用msvc2010構建GSL?

編輯:看看CMake,看起來我可以最好的是爲GSL手動創建CMakeLists.txt文件的整個層次結構。這只是有點太多,所以我已經把100pt。賞金上面提到的問題。解決我的問題Visual Studio路線(這裏)或與g ++將獲得賞金和這兩個問題的答案。

更新:下面的答案很好,但不是無縫的,可能是因爲我實際上需要在VS2012下編譯。需要對代碼進行一些調整,比如明確的轉換,這在前面的編譯器中顯然是可以容忍的,但不是我的。否則,事情進展順利。

回答

4

看看this。該網站提供用於構建GSL 1.15的VS2010解決方案。

+0

只要系統允許我給予獎勵,就可以獲得此獎勵。尼斯發現,但我不得不做一些調整(將很快描述)。 –

+0

似乎網站已移至http://brgladman.org/oldsite/computing/gnu_scientific_library.php – NIA

+0

謝謝,我更新了鏈接! – Carsten

19

我已經實現CMake的構建支持GSL這裏:https://github.com/ampl/gsl

CMake可以生成一個Visual Studio解決方案或NMAKE生成文件。例如:

> git clone git://github.com/ampl/gsl.git 
> cd gsl 
> cmake . 
-- Building for: Visual Studio 10 
-- Check for working C compiler using: Visual Studio 10 
-- Check for working C compiler using: Visual Studio 10 -- works 
... 

這會產生現在包含在contrib目錄中的GSL Git倉庫git://git.savannah.gnu.org/gsl.git的溶液(GSL.sln)和項目文件的Visual Studio 2010

這CMake的構建腳本。

截至2014年5月,還支持構建共享庫(DLL)以及GSL_SHARED選項。

+0

謝謝維塔。我相信你已經通過測試程序嘗試過了嗎?這還包括gsl_cblas? (並不是說它沒有用。) –

+1

我自己使用它,並且GSL附帶的測試在CMake腳本中處理,因此您可以構建並運行它們。 gslcblas也包括在內。 – vitaut

+0

太棒了!感謝vitaut。 –