天天看點

機器學習之shark環境的編譯(vs2010+boost1.5.5)1.編譯boost1.5.52.利用cmake生成shark工程檔案3.shark工程的編譯以及使用

折騰了快一個星期了,終于把環境安裝好(發個牢騷)。

1.編譯boost1.5.5

1.1打開vs2010指令行

在vs2010中打開指令行,出師不利,報錯Setting environment for using MicrosoftVisual Studio. 此時不應有\xxxx

解決方法,在path中找到相就的路徑,打其中的雙引号删除,就是因為之前安裝過masm64,include中還有影響的,so解除安裝。。。

1.2生成bjam.exe

到boost目錄,運作booststrap.bat,也有可能是bootstrap.bat(少個s,也不知道是什麼心态)

1.3利用生成的bjam.exe編譯

各個參數可以在網上找到,就不介紹,其中關鍵的是link和runtime-link

開始用

bjamstage --toolset=msvc-10.0 --build-type=complete--stagedir="D:\boost_1_55_0\bin\vc10" link=static runtime-link=shared threading=multi debug release

編譯後,用cmake生成工程檔案報錯

最後動态連結庫生成不同的四種

bjamstage --toolset=msvc-10.0 --build-type=complete--stagedir="D:\boost_1_55_0\bin\vc10" link=static runtime-link=shared threading=multi debug release

bjamstage --toolset=msvc-10.0 --build-type=complete --stagedir="D:\boost_1_55_0\bin\vc10"  link=static runtime-link=staticthreading=multi debug release

bjamstage --toolset=msvc-10.0 --build-type=complete--stagedir="D:\boost_1_55_0\bin\vc10" link=shared runtime-link=shared threading=multi debug release

bjamstage --toolset=msvc-10.0 --build-type=complete--stagedir="D:\boost_1_55_0\bin\vc10" link=shared runtime-link=static threading=multi debug release

最後一個沒有生成,也沒有多大問題

2.利用cmake生成shark工程檔案

這個在過程中沒有多大問題

3.shark工程的編譯以及使用

編譯過程還是挺順利,在使用時遇到的問題太多,之前就是一次編譯過,測試總是出錯,就算是用源代碼中的測試檔案也沒有用處。

3.1報error C2589: “(”: “::”右邊的非法标記  的錯誤

主要原因是: 函數模闆max與Visual C++中的全局的宏max沖突

解決方法:項目屬性  ——> C/C++ ——> 預處理器 ——> 預處理器定義 (此處添加預定義編譯開關  NOMINMAX)

3.2vs2013與vs2010的選擇

同一個代碼用vs2013編譯的報錯,用vs2010完全沒問題,建議用vs2010

繼續閱讀