ncnn编译之Debug win32版本

博客围绕项目依赖库编译展开,介绍了ncnn和protobuf的编译过程。需预先准备好二者的源码,编译时以管理员身份打开相关程序,按步骤执行nmake和nmake install命令,最终得到编译好的文件。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

最近一个项目需要用到ncnn依赖库为x86版本的,无奈只能自己动手编译一下。

我之前按照官方示例,编译过ncnnRelease x64版本的,大体过程其实差不多。链接:
https://blog.youkuaiyun.com/Star_ID/article/details/124166672

预先准备好:

  • VS2019
  • CMake3.21.3
  • ncnn源码:https://github.com/Tencent/ncnn
  • protobuf3.4.0源码:https://github.com/google/protobuf/archive/v3.4.0.zip

在这里插入图片描述

编译protobuf

以管理员身份打开x86 Native Tools Command Prompt for VS 2019注意,将DCMAKE_BUILD_TYPE改成Debug

cd <protobuf-root-dir>
mkdir build-vs2019
cd build-vs2019
cmake -G"NMake Makefiles" -DCMAKE_BUILD_TYPE=Debug -DCMAKE_INSTALL_PREFIX=%cd%/install -Dprotobuf_BUILD_TESTS=OFF -Dprotobuf_MSVC_STATIC_RUNTIME=OFF ../cmake
nmake
nmake install

在这里插入图片描述
nmake

在这里插入图片描述
nmake install

在这里插入图片描述

编译ncnn

以管理员身份打开x86 Native Tools Command Prompt for VS 2019,构建ncnn注意,将DCMAKE_BUILD_TYPE改成Debug

cd <ncnn-root-dir>
mkdir build
cd build
cmake -G"NMake Makefiles" -DCMAKE_BUILD_TYPE=Debug -DCMAKE_INSTALL_PREFIX=%cd%/install -DProtobuf_INCLUDE_DIR=D:/ncnnx86debug/protobuf-3.4.0/build-vs2019/install/include -DProtobuf_LIBRARIES=D:/ncnnx86debug/protobuf-3.4.0/build-vs2019/install/lib/libprotobufd.lib -DProtobuf_PROTOC_EXECUTABLE=D:/ncnnx86debug/protobuf-3.4.0/build-vs2019/install/bin/protoc.exe -DNCNN_VULKAN=off ..
nmake
nmake install

在这里插入图片描述

nmake

在这里插入图片描述

nmake install

在这里插入图片描述
得到编译好的debug x86文件

在这里插入图片描述

### 如何以调试模式编译 NCNN 库 #### 调试模式下的环境准备 为了成功构建 NCNNDebug 版本,需要先安装必要的依赖项并配置开发环境。如果目标平台是 Windows,则需特别关注 Protobuf 和其他第三方库的兼容性问题。 对于 Windows 平台上的 Debug 构建流程可以参考以下方法[^3]: 1. **Protobuf 编译** 下载指定版本的 Protobuf 源码包(例如 v3.11.2),解压后进入根目录执行如下命令完成 Debug 模式的编译: ```bash mkdir build cd build cmake -G "NMake Makefiles" -DCMAKE_BUILD_TYPE=Debug -DCMAKE_INSTALL_PREFIX=%cd%/install -Dprotobuf_BUILD_TESTS=OFF -Dprotobuf_MSVC_STATIC_RUNTIME=OFF .. nmake nmake install ``` 上述过程通过 `CMAKE_BUILD_TYPE=Debug` 参数指定了 Debug 配置类型,并确保生成适合于调试用途的目标文件。 #### 使用 CMake 工具链设置 Debug 类型 当基于 Visual Studio 或者 MinGW 环境工作时,可以通过调整 CMake 命令参数实现不同类型的构建支持。具体操作步骤如下所示[^4]: - 打开对应架构的开发者命令提示符窗口 (如 x86 Native Tools Command Prompt for VS 2019); - 创建一个新的构建目录用于存放中间产物以及最终输出物; - 设置合适的选项标志位来启用 Debug 功能特性; 以下是完整的指令序列实例演示: ```bash cd <ncnn-root-dir> mkdir build-vs2019-debug cd build-vs2019-debug cmake -G "NMake Makefiles" -DCMAKE_BUILD_TYPE=Debug -DNCNN_OPENMP=ON -DNCNN_VULKAN=ON -DNCNN_BUILD_TOOLS=ON -DNCNN_BUILD_EXAMPLES=ON -DNCNN_SYSTEM_PROTOBUF=ON -DPROTOBUF_LIBRARY=<path-to-protobuf>/lib/libprotobufd.lib -DPROTOBUF_INCLUDE_DIR=<path-to-protobuf>/include ../ nmake ``` 这里需要注意的是 `-DCMAKE_BUILD_TYPE=Debug` 显式声明了期望获得 Debug 输出形式的产品集合。另外还引入了一些额外的功能开关变量以便更好地满足实际需求场景的要求。 #### 在 Linux 中应用类似的策略 Linux 用户同样能够利用 CMake 提供的强大功能轻松达成目的。只需简单修改几处地方就能顺利过渡到 Debug 场景下来开展后续活动[^5]: ```bash mkdir build-debug && cd $_ cmake .. -DCMAKE_BUILD_TYPE=Debug -DNCNN_OPENMP=ON -DNCNN_VULKAN=ON -DNCNN_BUILD_TOOLS=ON -DNCNN_BUILD_EXAMPLES=ON -DNCNN_SYSTEM_PROTOBUF=ON make -j$(nproc) sudo make install ``` 以上脚本片段展示了如何快速切换至 Debug 模式并对整个项目重新进行全面组装的过程描述。 --- ### 总结 无论是在 Windows 还是 Linux 上面实施 NCNNDebug 版本创建作业都离不开核心要素——合理运用 CMake 提供给我们的强大定制能力。只要按照既定模板逐步推进各项准备工作直至最后一步收尾动作结束为止即可顺利完成全部任务安排。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值