在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。

总结于此,希望有所帮助。

上一篇:[渣译文] 使用 MVC 5 的 EF6 Code First 入门 系列:为ASP.NET MVC应用程序创建更复杂的数据模型


下一篇:<转载>CSS解决图片过大撑破DIV的方法