【ncnn】Win10+Visual Studio 2015+Cmake3.10+OpenCV3.4.0 ncnn环境搭建

环境:

Win10

Visual studio 2015

Cmake3.10

OpenCV 3.4.0

Protobuf3.4.0


一、安装Cmake

到官网下载windows版本的Cmake,ncnn要求cmake版本不低于3.10。

按照安装向导安装就可以了,记得添加环境变量。

二、安装OpenCV

到官网下载编译好的安装包,解压之后添加环境变量就可以了。

三、安装Visual studio 2015

到官网自行下载安装,这里不再赘述。

四、编译protobuf

到下载链接下载protobuf3.4.0,然后解压。

在开始菜单的Visual C++ Build Tools,打开下面的Visual C++ 2015 x64 Native Build Tools Command Prompt。

【ncnn】Win10+Visual Studio 2015+Cmake3.10+OpenCV3.4.0 ncnn环境搭建_第1张图片

进入protobuf3.4.0的根目录,

cd protobuf-3.4.0

新建一个文件夹作为编译的工作目录,

mkdir build-vs2015
cd build-vs2015

执行cmake,

cmake -G"NMake Makefiles" -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=%cd%/install -Dprotobuf_BUILD_TESTS=OFF -Dprotobuf_MSVC_STATIC_RUNTIME=OFF ../cmake

【ncnn】Win10+Visual Studio 2015+Cmake3.10+OpenCV3.4.0 ncnn环境搭建_第2张图片

执行,

nmake

在build-vs2015下面就生成了

【ncnn】Win10+Visual Studio 2015+Cmake3.10+OpenCV3.4.0 ncnn环境搭建_第3张图片

执行

nmake install

build-vs2015/install下就将相应的头文件、可执行文件和库归集在一起了。

【ncnn】Win10+Visual Studio 2015+Cmake3.10+OpenCV3.4.0 ncnn环境搭建_第4张图片

四、编译ncnn

1. 克隆源码

git clone https://github.com/Tencent/ncnn.git

2. 修改examples/CMakeLists.txt

这里首先修改的是examples/CMakeLists.txt,主要是针对OpenCV3,因为ncnn默认是支持opencv2,如果这里不进行修改,直接cmake之后make会报很多opencv的undefined reference错误。

打开examples/CMakeLists.txt,在最上面添加

set(OpenCV_DIR D:/mysoftware/opencv/build)

添加

include_directories(${OpenCV_DIR}/include)

3. 修改CMakeLists.txt

现在修改根目录下的CMakeLists.txt,将

#add_subdirectory(examples)

的注释取消。

add_subdirectory(examples)

因为我需要编译ncnn下的examples。

4. 修改examples/squeezenet.cpp

打开examples/squeezenet.cpp,在上面头文件引用处添加

#include 

5. 修改examples/shufflenetv2.cpp

打开examples/shufflenetv2.cpp,在上面头文件引用处添加

#include 

6. 编译ncnn

同样打开Visual C++ 2015 x64 Native Build Tools Command Prompt,进入ncnn的根目录,新建一个文件夹作为编译的工作目录,

mkdir -p build-vs2015
cd build-vs2015

执行cmake,

cmake -G"NMake Makefiles" -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=%cd%/install -DProtobuf_INCLUDE_DIR=D:\code\c++\protobuf-3.4.0\build-vs2015\install\include -DProtobuf_LIBRARIES=D:\code\c++\protobuf-3.4.0\build-vs2015\install\lib\libprotobuf.lib -DProtobuf_PROTOC_EXECUTABLE=D:\code\c++\protobuf-3.4.0\build-vs2015\install\bin\protoc.exe -DNCNN_VULKAN=OFF ..

【ncnn】Win10+Visual Studio 2015+Cmake3.10+OpenCV3.4.0 ncnn环境搭建_第5张图片

执行

nmake

在build-vs2015下面就生成了

【ncnn】Win10+Visual Studio 2015+Cmake3.10+OpenCV3.4.0 ncnn环境搭建_第6张图片

执行

nmake install

【ncnn】Win10+Visual Studio 2015+Cmake3.10+OpenCV3.4.0 ncnn环境搭建_第7张图片

build-vs2015/install下就将相应的头文件和库归集在一起了。

【ncnn】Win10+Visual Studio 2015+Cmake3.10+OpenCV3.4.0 ncnn环境搭建_第8张图片

7. 测试

下面进入build-vs2015/examples目录下,这里面有几个可执行文件。

将ncnn根目录下的examples文件夹下的squeezenet_v1.1.bin和squeezenet_v1.1.param拷贝到build-vs2015/examples目录下。

执行

squeezenet.exe test.jpg

打开根目录下examples/synset_words.txt,看一下152代表什么,

和【ncnn】Ubuntu16.04+OpenCV3.4.0 ncnn环境搭建的结果是一致的。

你可能感兴趣的:(NCNN,深度学习)