安装笔记
cmake 在windows可以使用-G"MinGW Makefiles" 搭配make使用,install出来的lib文件时.a结尾的,适合linux下面使用。所以在windows上若无需求使用-G"NMake Makefiles" 搭配nmake。
但是windows上使用-G"NMake Makefiles"编译最后生成的执行文件无法使用gdb进行调试,gdb只能对调试信息包含在exe中的执行文件进行调试。所以需要修改vscode中的launch文件,如下文所示。
要想编译成功ncnn,下载好cmake、mingw64、opencv、protobuf、ncnn、依次编译就可以。当然,有的有现成的不需要编译,看自己。在ncnn编译的时候给cmake中设置好所需要的库路径,仿照下文修改成你的。
目前仍然无法在ncnn中使用simpleocv。报错找不到cv等命名空间,原因未知。
命令行工具
x64 Native Tools Command Prompt for VS 2022
安装protobuf
git clone httpd://github.com/protocolbuffers/protobuf/
cd ./protobuf
git clone https://github.com/abseil/abseil-cpp.git ./protobuf/third_party/abseil-cpp
cd ./protobuf/cmake
mkdir build & cd build
cmake -G "NMake Makefiles" ^-DCMAKE_BUILD_TYPE=Release ^-DCMAKE_INSTALL_PREFIX=../../../install/release ^-Dprotobuf_BUILD_SHARED_LIBS=ON ^-Dprotobuf_WITH_ZLIB=OFF ^-Dprotobuf_BUILD_TESTS=OFF ^../..
nmake & nmake install
安装opencv
下载源码
git clone https://github.com/opencv/opencv.git
cd opencv & mkdir build & cd build
cmake -G “NMake Makefiles” -DCMAKE_BUILD_TYPE=Release …
nmake & nmake install
安装ncnn
cd ./ncnn & mkdir build & cd buildcmake -G"NMake Makefiles" -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=%cd%/install -DProtobuf_INCLUDE_DIR=D:/ProgramData/protobuf/cmake/build/install/release/include -DProtobuf_LIBRARIES=D:/ProgramData/protobuf/cmake/build/install/release/lib/libprotobuf.lib -DProtobuf_PROTOC_EXECUTABLE=D:/ProgramData/protobuf/cmake/build/install/release/bin/protoc.exe -DNCNN_VULKAN=OFF .. -DOpenCV_DIR=D:/ProgramData/opencv/build/install/x64/mingw/libnmake & nmake install
C++推理Demo
复制一份yolov8与samples下的CMakeLists.txt组成新的项目;
#CMakeLists.txt
cmake_minimum_required(VERSION 3.16)
project(App)
# # 设置编译器windows中设置这个会导致编译失败
#set(CMAKE_C_COMPILER "D:/ProgramData/mingw64/bin/gcc.exe")
#set(CMAKE_CXX_COMPILER "D:/ProgramData/mingw64/bin/g++.exe"