windows7系统编译ncnn生成ncnn.sln解决方案
1.预备工作:
先安装好:VS2015+CMake3.16.0。
2. 编译Protobuf:
1 下载并解压:protobuf-3.0.0
2 打开CMake-GUI:
设置 源文件目录:D:/protobuf-300/cmake
设置 目标文件目录:D:/protobuf-300/_builds
点击 Configure:选择VS2015 Win64->Finish
不勾选:protobuf_BUILD_TESTS和protobuf_MSVC_STATIC_RUNTIME
点击 Add Entry:CMAKE_BUILD_TYPE=Release
修改(可选):CMAKE_CONFIGURATION_TYPES=Release
修改:CMAKE_INSTALL_PREFIX=./install
再点2次 Configure
点击 Generate
打开VS2015:
打开 目标文件目录(D:/protobuf-300/Builds)中的工程文件(protobuf.sln),编译其中的INSTALL项目即可。
备注:在系统的环境变量中,在系统变量PATH中添加路径:D:\protobuf-300_builds\install\bin;然后重启系统! 【我一开始用的Protobuf-3.4.0,没有重启系统,编译ncnn的时候报错:Protobuf compiler version 3.0.0 doesn’t match library version 3.4.0。索性将Protobuf换成了3.0.0的。可能是没有重启系统后,cmake调用的protobuf编译器对不上号】
否则,可能遇到坑:cmake ncnn时,添加不上Protobuf_INCLUDE_DIR项。
3.编译ncnn:
- 下载并解压:ncnn
- 打开CMake-GUI:
设置 源文件目录:D:/ncnn-master
设置 目标文件目录:D:/ncnn-master/Builds
点击 Configure:选择VS2015 Win64->Finish
点击 Add Entry:Protobuf_LIBRARIES=D:\protobuf-3.4.0\Builds\install\lib\libprotobuf.lib
点击 Add Entry:Protobuf_INCLUDE_DIR=D:\protobuf-3.4.0\Builds\install\include
点击 Add Entry:Protobuf_PROTOC_EXECUTABLE=D:\protobuf-3.4.0\Builds\install\install/bin/protoc.exe
修改(可选):CMAKE_CONFIGURATION_TYPES=Release
修改:Protobuf_SRC_ROOT_FOLDER=D:/protobuf-3.4.0/src
修改:OpenCV_DIR=D:\opencv3.3.0\opencv\build\x64\vc14\lib
再次点击 Configure
点击 Generate - 打开VS2015:
打开 目标文件目录(D:/ncnn-master/Builds)中的工程文件(ncnn.sln),编译其中的INSTALL项目即可。
编译结束后,在目标文件目录的install和tools目录下,即可看到编译好的文件。至此,ncnn编译完成。
严重参考博客:
https://blog.****.net/CosmosHua/article/details/81543844
https://blog.****.net/u011622208/article/details/105169652