ncnn 编译(Build for Windows x64 using Visual Studio Community 2017)
按照github上ncnn的安装提示进行编译(https://github.com/Tencent/ncnn/wiki/how-to-build#build-for-windows-x64-using-visual-studio-community-2017);
1、下载安装vs2017社区版;
2、在 开始 菜单中在vs2017目录下,选择 vs2017 X64 命令工具;
3、下载protobuf(https://github.com/google/protobuf/archive/v3.4.0.zip);
4、在vs2017 X64 命令工具中使用命令编译protobuf(前提是安装了cmake,并设置好环境变量):
G: cd G:\protobuf\protobuf-3.4.0 mkdir build20211229 cd build20211229 cmake -G"NMake Makefiles" -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=%cd%/install -Dprotobuf_BUILD_TESTS=OFF -Dprotobuf_MSVC_STATIC_RUNTIME=OFF ../cmake nmake nmake install
5、下载Vulkan SDK (https://vulkan.lunarg.com/sdk/home),安装设置好环境变量(https://vulkan.lunarg.com/doc/sdk/1.2.198.1/windows/getting_started.html);
编译ncnn32位,安装vulkan-SDK时,要选择点击32bit那个选项,不然默认就是64位的,点了32位的才会有Lib32,Bin32。
6、下载ncnn,下载glslang放在ncnn目录下的glslang文件夹中;
7、在vs2017 X64 命令工具中使用命令编译ncnn:
G: cd G:\ncnn\ncnn-20211208
mkdir -p build20211229
cd build20211229
cmake -G"NMake Makefiles" -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=%cd%/install -DProtobuf_INCLUDE_DIR=G:/protobuf/protobuf-3.4.0/build20211229/install/include -DProtobuf_LIBRARIES=G:/protobuf/protobuf-3.4.0/build20211229/install/lib/libprotobuf.lib -DProtobuf_PROTOC_EXECUTABLE=G:/protobuf/protobuf-3.4.0/build20211229/install/bin/protoc.exe -DNCNN_VULKAN=ON ..
nmake
nmake install
如果要打开test项目,加上 -DNCNN_BUILD_TESTS=ON,, 编译动态库 -DNCNN_SHARED_LIB=ON
命令(Debug64)
cmake -G"NMake Makefiles" -DCMAKE_BUILD_TYPE=Debug -DNCNN_BENCHMARK=ON -DCMAKE_INSTALL_PREFIX=%cd%/install -DProtobuf_INCLUDE_DIR=D:/code/protobuf/protobuf-3.4.0/build64Debug/install/include -DProtobuf_LIBRARIES=D:/code/protobuf/protobuf-3.4.0/build64Debug/install/lib/libprotobufd.lib -DProtobuf_PROTOC_EXECUTABLE=D:/code/protobuf/protobuf-3.4.0/build64Debug/install/bin/protoc.exe -DNCNN_VULKAN=OFF ..
命令(Release32)
cmake -G"NMake Makefiles" -DCMAKE_BUILD_TYPE=Release -DNCNN_BENCHMARK=ON -DCMAKE_INSTALL_PREFIX=%cd%/install -DProtobuf_INCLUDE_DIR=D:/code/protobuf/protobuf-3.4.0/build32Release/install/include -DProtobuf_LIBRARIES=D:/code/protobuf/protobuf-3.4.0/build32Release/install/lib/libprotobuf.lib -DProtobuf_PROTOC_EXECUTABLE=D:/code/protobuf/protobuf-3.4.0/build32Release/install/bin/protoc.exe -DNCNN_VULKAN=OFF ..
命令生成vs2017 64位工程
cmake -A x64 -DCMAKE_BUILD_TYPE=Debug -DNCNN_BENCHMARK=ON -DCMAKE_INSTALL_PREFIX=%cd%/install -DProtobuf_INCLUDE_DIR=D:/code/protobuf/protobuf-3.4.0/build64Debug/install/include -DProtobuf_LIBRARIES=D:/code/protobuf/protobuf-3.4.0/build64Debug/install/lib/libprotobufd.lib -DProtobuf_PROTOC_EXECUTABLE=D:/code/protobuf/protobuf-3.4.0/build64Debug/install/bin/protoc.exe -DNCNN_VULKAN=ON ..
8、安装编译完成(G:\ncnn\ncnn-20211208\build20211229\install)。