Win10下编译NCNN

本文详细介绍了在Windows操作系统下如何编译Ncnn库,包括下载和编译Protobuf,安装VulkanSDK,以及配置Ncnn的编译过程。在编译过程中,需要确保所有库都是Release版本,并设置好相应的环境变量。最后,文章提到了使用CMake构建项目时,需注意匹配库的编译类型,以避免编译错误。

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

Windows下编译Ncnn

编译Protobuf

Download protobuf-3.11.2

1. mkdir build
2. cd ./build
3. cmake -A x64 -DCMAKE_INSTALL_PREFIX=%cd%/install -Dprotobuf_BUILD_TESTS=OFF   Dprotobuf_MSVC_STATIC_RUNTIME=OFF ../cmake
4. cmake --build . --config Release -j 2
5. cmake --build . --config Release --target install

注:windows下使用Visual Studio编译库为Release版本,需要使用 --config Release命令

安装Vulkan SDK

Vulkan SDK

选择安装文件夹,一直点next即可

编译Ncnn

1. git clone https://github.com/Tencent/ncnn.git
2. cd ncnn
3. git submodule update --init

4. mkdir -p protobuf_build
5. cd protobuf_build
6. set VULKAN_SDK=D:\VulkanSDK
7. cmake -A x64 -DCMAKE_INSTALL_PREFIX=%cd%/install -DProtobuf_INCLUDE_DIR=D:/Protobuf/include -DProtobuf_LIBRARIES=D:/Protobuf/lib/libprotobuf.lib -DProtobuf_PROTOC_EXECUTABLE=D:/Protobuf/bin/protoc.exe -DNCNN_VULKAN=ON ..
8. cmake --build . --config Release -j 2  // 与protobuf统一都使用Release 或 Debug

添加环境变量

可以在环境变量中添加ncnn编译后库的位置,这样cmake就能通过find_package来找到ncnn的位置

// 将lib和include添加到path中去
D:\Tencent\Ncnn\include
D:\Tencent\Ncnn\lib

也可以在CMake中指定Ncnn库的路径set(NCNN_DIR XXX), 然后添加对应lib和include文件

使用Cmake调用

cmake_minimum_required(VERSION 3.25)

project(ncnn_examples CXX)
set(CMAKE_CXX_STANDARD 11)
set(CMAKE_BUILD_TYPE "Release")  # 对于Visual Sudio无效

find_package(OpenCV REQUIRED)
include_directories(${OpenCV_INCLUDE_DIRS})

find_package(ncnn REQUIRED)

add_executable(ncnn_examples test_datareader.cc)
target_link_libraries(ncnn_examples ${OpenCV_LIBS})
target_link_libraries(ncnn_examples ncnn)

可能出现的问题

windows下,使用cmake 和 Visual studio 调用 ncnn库时,编译的代码同样的得是Release版本,否则默认为Debug版本,编译时会报错

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值