ncnn笔记(一)编译

参考:【ncnn】NCNN + WIN10 + VS2015 编译和测试

参考:程序底层工具:cl编译器

这里我遇到了我的cmake-gui或cmake也无能为力的情况,可以通过设置环境变量让powershell或cmd黑窗口找到cl编译器,但这并不是我喜欢的,因为我不喜欢设置太多环境变量。

办法总是有的,用它:

或者:

mkdir build-vs2015
cd build-vs2015
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

其他问题:

NMAKE:fatal error U1077.“cl.exe” return code 0xc0000135

产生原因:在安装visual studio的时候没有勾选注册环境变量导致的。

解决办法:在系统环境变量中加入visual studio的安装路径:vs安装路径\VC\Bin,以及vs安装路径\Common7\IDE

NMAKE:fatal error U1077. return code 0x2

产生原因:找不到代码文件中包含的头文件

解决办法:cmd下进入到vs安装路径\VC\Bin下,执行vcvars32,此时会执行vcvas32.bat自动为vs设置环境变量

很抱歉,使用这种命令行的方式编译失败了,还是NMAKE的原因,又换回cmake-gui了。

参考:protobuf的编译和使用,在windows平台上

cmake时会报错:Cannot find gmock directory.

解决办法参考:win10 vs2017编译腾讯的NCNN

第一种:在protobuf根目录有个autogen.sh,直接在cmd里找到这个并运行,它会自动下载(但因为google下载会涉及到翻qiang,所以前提是能翻才能下载),个人推荐这种方式,因为下载的版本与protobuf版本是匹配的,不会太容易出现不必要的坑。(本人使用此方法)

我不确定有没有墙的问题,反正我没有翻,直接在protobuf根目录下打开powershell,执行

 .\autogen.sh

会自动下载gmock.

然后再使用cmake就可以通过了。编译时protobuf通过,protobuf_lite失败。

后来又尝试protobuf3.6.0,没有勾选test,安装路径 ./install/protobuf.

编译安装完成。

下一步编译ncnn

这里直接使用cmake-gui比较顺利。

记录一下遇到的问题

1、自己配置一下protobuf路径和opencv路径

2、生成ncnn.sln项目,编译时会有两个子项目编译失败,分别是caffe2ncnn和onnx2ncnn

原因是它们都使用的protobuf静态库编译属性是MT

将这两个子项目的编译属性也改成MT就可以编译通过。

猜你喜欢

转载自blog.csdn.net/juluwangriyue/article/details/108790422