VS 2015 编译mlpack 教程

这两天准备用C++完成机器学习,第一步需要装一些机器学习的工具包就像python的scikit learn 一样。这篇文章参考了一些github的内容,剔除了里面的一些坑,按照此方案应该可以顺利完成。

提前的准备:Cmake 下载地址 https://cmake.org/download/ 

第一步:下载 Download mlpack 地址:https://www.mlpack.org/ 

建立一个文件夹project 。例如:E:/projects/  再把下载的mlpack放进去。如 E:/projects/mlpack-3.0.4/

第二步:在 Visual Studio里面安装 mlpack 并且 下载一些 附属物(dependencies) 用NuGet.

 

打开 Visual Studio and 点击  文件 > 新建 > 从现有代码创建项目

VS 2015 编译mlpack 教程_第1张图片

选择Visual C++ 点击下一步,得到下面的图:

VS 2015 编译mlpack 教程_第2张图片

项目文件位置和项目名称(自己填写,自己希望的路径)。

下面讲一下如何用 NuGet 

打开VS2015,点击 如下图的位置。

VS 2015 编译mlpack 教程_第3张图片

上述操作完成后,会跳出下面图,点击浏览,并且输入想要下载的模块 ,例如OpenBLAS,如下图。

VS 2015 编译mlpack 教程_第4张图片

利用同样的方法下载以下几个包

  • boost
  • boost_unit_test_framework-vc140
  • boost_program_options-vc140
  • boost_random-vc140
  • boost_serialization-vc140
  • boost_math_c99-vc140
  • OpenBLAS 

 下载完成后,文件夹 E:projects/mlpack-3.0.4/packages内 会包括下图几个文件夹 

VS 2015 编译mlpack 教程_第5张图片

再在 E:projects/mlpack-3.0.4/packages文件夹内 建立一个名为 boost_libs 的新的文件夹

此时, E:projects/mlpack-3.0.4/packages 内为下图

VS 2015 编译mlpack 教程_第6张图片

此时,需要把下面五个文件中 lib\native 文件内的X64 的.lib 和 .dll文件全部复制到boost_libs 文件夹下。

  • boost_unit_test_framework-vc140
  • boost_program_options-vc140
  • boost_random-vc140
  • boost_serialization-vc140
  • boost_math_c99-vc140 

下面以 boost_unit_test_framework-vc140为例讲解 

VS 2015 编译mlpack 教程_第7张图片

挑出文件下,所有的X64 贴到 boost_libs文件中。

第三步,下载Armadillo,并编译。

把下载的Armadillo放到 E:/projects 文件下,因此,E:/projects/文件夹下面有 armadillo-8.300.3 和 mlpack-3.0.4两个文件。armadillo-8.300.3 文件下下面建立一个build的文件夹。

打开命令窗口,输入 armadillo-8.300.3文件下 build 的路径 如下图

VS 2015 编译mlpack 教程_第8张图片

再输入 

cmake -G "Visual Studio 14 2015 Win64" -DBLAS_LIBRARY:FILEPATH="E:/cML/mlpack-3.0.4/packages/OpenBLAS.0.2.14.1/OpenBLAS.0.2.14.1/lib/native/lib/x64/libopenblas.dll.a" -DLAPACK_LIBRARY:FILEPATH="E:/cML/mlpack-3.0.4/packages/OpenBLAS.0.2.14.1/OpenBLAS.0.2.14.1/lib/native/lib/x64/libopenblas.dll.a" -DCMAKE_PREFIX:FILEPATH="E:/projects/armadillo-8.300.3" -DBUILD_SHARED_LIBS=OFF ..

 其中的路径根据自己的需要可以改。

完成后点击 E:\cML\armadillo-8.300.3\build 内的 armadillo.sln 再在 VS2015下进行编译 点击 生成>生成解决方案 

第四步, E:\cML\mlpack-3.0.4 下面建立一个build 文件夹。剩下的步骤与上一步一样,只不过路径不同,先找到路径

再贴入下面代码(同样路径自己设定)

cmake -G "Visual Studio 14 2015 Win64" -DBLAS_LIBRARY:FILEPATH="E:/cML/mlpack-3.0.4/packages/OpenBLAS.0.2.14.1/lib/native/lib/x64/libopenblas.dll.a" -DLAPACK_LIBRARY:FILEPATH="E:/cML/mlpack-3.0.4/packages/OpenBLAS.0.2.14.1/lib/native/lib/x64/libopenblas.dll.a" -DARMADILLO_INCLUDE_DIR="E:/cML/armadillo-8.300.3/include" -DARMADILLO_LIBRARY:FILEPATH="E:/cML/armadillo-8.300.3/build/Debug/armadillo.lib" -DBOOST_INCLUDEDIR:PATH="E:/cML/mlpack-3.0.4/packages/boost.1.69.0.0/lib/native/include" -DBOOST_LIBRARYDIR:PATH="E:\cML\mlpack-3.0.4\packages\boost_libs" -DDEBUG=OFF -DPROFILE=OFF ..

再打开,E:\cML\mlpack-3.0.4\build 文件夹下的 mlpack.sln 编译。如果成功了,大功告成!

 

 

 

你可能感兴趣的:(C/C++)