Introduction
そこまで面倒なことはないけど、自分メモ。
Answer
ソースは上から入手。
手順はBuild C++ libraries on Windowsに書いてあるとおり。
C++のライブラリだけど、それを作るのにPythonが必要です。
動かすのにPythonがいるわけではないです。
(ただし、学習はPythonが必要で推論はC++だけOK)
- clone
- nnabla\build-tools\msvc\setup_cpp_utils_deps.bat を実行
- nnabla\build-tools\msvc\cmake_cpp_utils.bat を実行
です。
途中、Pythonでモジュールが足りない、って言われるときがあります。
1 | $ cmake -G "Visual Studio 14 2015 Win64" -DBUILD_CPP_UTILS=ON -DBUILD_PYTHON_PACKAGE=OFF -DLibArchive_LIBRARY=D:\Works\OpenSource\NeuralNetworkLibrariesDotNet\nnabla\build-tools\msvc\..\..\third_party\libarchive-v3.3.2\build-folder\libarchive\Release\archive.lib -DLibArchive_INCLUDE_DIR=D:\Works\OpenSource\NeuralNetworkLibrariesDotNet\nnabla\build-tools\msvc\..\..\third_party\libarchive-v3.3.2\libarchive -DProtobuf_INCLUDE_DIR=D:\Works\OpenSource\NeuralNetworkLibrariesDotNet\nnabla\build-tools\msvc\..\..\third_party\protobuf-v3.4.1\src -DProtobuf_LIBRARY=D:\Works\OpenSource\NeuralNetworkLibrariesDotNet\nnabla\build-tools\msvc\..\..\third_party\protobuf-v3.4.1\build-folder\Release\libprotobuf.lib -DProtobuf_LITE_LIBRARY=D:\Works\OpenSource\NeuralNetworkLibrariesDotNet\nnabla\build-tools\msvc\..\..\third_party\protobuf-v3.4.1\build-folder\Release\libprotobuf-lite.lib -DProtobuf_PROTOC_EXECUTABLE=D:\Works\OpenSource\NeuralNetworkLibrariesDotNet\nnabla\build-tools\msvc\..\..\third_party\protobuf-v3.4.1\build-folder\Release\protoc.exe -DPROTOC_COMMAND=D:\Works\OpenSource\NeuralNetworkLibrariesDotNet\nnabla\build-tools\msvc\..\..\third_party\protobuf-v3.4.1\build-folder\Release\protoc.exe D:\Works\OpenSource\NeuralNetworkLibrariesDotNet\nnabla\build-tools\msvc\..\.. -DZLIB_LIBRARY_RELEASE=D:\Works\OpenSource\NeuralNetworkLibrariesDotNet\nnabla\build-tools\msvc\..\..\third_party\zlib123dllx64\dll_x64\zlibwapi.lib -DZLIB_INCLUDE_DIR=D:\Works\OpenSource\NeuralNetworkLibrariesDotNet\nnabla\build-tools\msvc\..\..\third_party\zlib123dllx64 || GOTO :error |
上の場合は、mako.template が無いって文句言ってますので
1 | $ python -m pip install mako |
みたいにインストールします。
エラーが無ければ、nnabla\build\bin\Release にlibも含めたライブラリが生成されます。