本文主要介紹瞭如何在Linux環境下,在QT中如何引用Shark machine learning library的方法。 ...
最近因為項目需要,看了看機器學習方面的東西。Google一番,發現Shark正是朕需要的東西。於是準備按官方文檔來使用它了。但是官方文檔只有怎麼生成靜態庫,並沒有在QT里引用的sample。
廢話不多說,直接上步驟:
首先,環境: Ubuntu 16.04,Qt5.7,shark 3.1.3
在開始編譯安裝shark之前,先安裝其所依賴的其他組件:
sudo apt-get install cmake cmake-curses-gui libatlas-base-dev libboost-all-dev
Shark 3.1.3的source地址:https://github.com/Shark-ML/Shark/releases
可以選擇下載zip,或者tar.gz。裡面的東西都一樣,只是壓縮格式不同。
解壓後,命令行到 Shark-3.1.3 目錄。
然後按順序執行下列命令:
mkdir build cd build cmake ../ make sudo make install
友情提醒:以上make命令大概需要30分鐘左右。註意預留足夠的時間。
然後,在QT project中引用shark library: 在pro文件中添加如下代碼:
#Shark library LIBS += -lshark -lboost_serialization -lcblas -latlas -llapack INCLUDEPATH += /usr/include/atlas
可以看到以上LIBS除了添加了lshark library, 還添加了shark所引用的 atlas的library。 這是必需的。
若項目中還用到了其他boost library的話,編譯可能不過,那麼也需要在LIBS上繼續追加對應的library。
總結於此,希望有所幫助。