安裝C++人工智能開源平臺Shark


shark版本 Shark3.0
boost版本 boost1.59(注:boost1.60把ice_not給取消了,會致使shark編譯錯誤,因此使用boost1.59,也不知道如今這個錯誤修復了沒有)bootstrap


編譯boost

boost下載完成以後進入目錄運行bootstrap.bat,運行完成以後會發現目錄下面生成了bjam.exe和b2.exe兩個可執行文件,運行這兩個中的任意一個就會開始編譯boost了,編譯完成以後須要給環境變量添加BOOST_ROOT,值爲boost的根目錄。 工具

若是有特殊要求須要編譯64位boost的話能夠按照下面的方式:
用VS的64位命令行工具(能夠在開始菜單欄裏面找到),打開這個工具以後進入boost的目錄,執行bootstrap.bat而後執行如下命令:ui

bjam --build-type=complete toolset=msvc-12.0 threading=multi link=static address-model=64

上面的命令編譯出來是靜態庫,若是是想要動態庫的話就把static變成shared便可。命令行


編譯shark3.0

運行CMake,進入shark目錄,生成目錄我也選擇在其目錄,點擊configure以後出錯,告訴我找不到boost的lib,而後有一個選項是USE_STATIC_BOOST_LIB,把這個勾選上(由於以前我生成的是boost的靜態庫),點擊configure,成功(即沒有錯誤),而後generate。 debug

這時候在shark目錄下面已經有VS工程文件了,打開工程,點擊編譯,等待許久以後可能會遇到錯誤,顯示不認識什麼什麼東西來着,具體是什麼忘記了,筆記本上也沒記載,須要手動改三個工程的屬性,把一個什麼東西看成變量來着……忘記了……記着應該是這裏的問題。反正問題也不難,百度了一下馬上就出來了。調試


使用shark

使用shark的工程須要添加附加引用目錄、附加庫引用目錄以及附加庫依賴(一個重要的庫文件)。附加引用目錄添加boost的根目錄和shark的include目錄,附加庫引用目錄添加shark/lib/Debug( or Release)和boost/stage/lib,shark的Debug庫和Release庫並不兼容。 code

附加引用目錄(Linker->Input->Addtional Dependencies)要添加shark_debug.lib或shark.lib,根據工程當前是發佈仍是調試來調整。 ci

另外,在VC++ Directories裏面設定附加引用目錄和附加庫引用目錄和在C++與Linker裏面分別設定是同樣的,可是附加庫依賴必須在Linker裏面設置。get


位數相關

boost 32位能夠支持編譯32位shark。
boost 64位能夠支持編譯64位shark。
編譯多少位的shark要從CMake那裏選擇,若是是要編譯64位的shark的話須要選擇帶Win64的編譯器。編譯器


如今shark3.1.0已經修復了不支持boost1.60的錯誤。

相關文章
相關標籤/搜索