当前位置: 首页 > wzjs >正文

好的做网站珠海建设网站首页

好的做网站,珠海建设网站首页,wordpress如何添加安装导航,北京注册公司政策在 Windows 环境下,使用 Visual Studio 2017 配置 ncnn 库并在项目中包含 #include "ncnn/net.h",需要完成 ncnn 的编译和项目配置。以下是详细的步骤指南,确保环境配置正确,并成功链接 ncnn 库。 前提条件 已安装 Vis…

在 Windows 环境下,使用 Visual Studio 2017 配置 ncnn 库并在项目中包含 #include "ncnn/net.h",需要完成 ncnn 的编译和项目配置。以下是详细的步骤指南,确保环境配置正确,并成功链接 ncnn 库。


前提条件

  1. 已安装 Visual Studio 2017:确保安装了 Visual Studio 2017 Community 或其他版本,并包含 C++ 桌面开发工作负载(包括 MSVC 编译器和 CMake 工具)。
  2. 已安装 CMake:推荐使用 CMake 3.14 或更高版本,用于生成 ncnn 的构建文件。可以在 CMake 官网 下载安装。
  3. 已下载 ncnn 源码:从 Tencent/ncnn GitHub 仓库 下载最新 ncnn 源码(建议使用最新 release 或 master 分支)。
  4. 可选:支持 Vulkan:如果需要 GPU 加速(Vulkan 支持),需安装 Vulkan SDK。

步骤 1:编译 ncnn 库

ncnn 是一个需要编译的库,编译后会生成头文件、静态库(.lib)或动态库(.dll),供 Visual Studio 项目使用。

1.1 安装依赖

ncnn 的编译需要以下依赖:

  • Protobuf:ncnn 使用 Protobuf 处理模型文件。
  • 可选:Vulkan SDK:如果启用 Vulkan 支持,需要安装 Vulkan SDK。
  • 可选:OpenCV:如果需要使用 ncnn 的图像处理功能,需安装 OpenCV。
安装 Protobuf
  1. 下载 Protobuf 源码

    • 访问 Protobuf GitHub 仓库 下载源码(推荐 v3.4.0 或更高版本)。
    • 解压到本地目录,例如 C:\protobuf\protobuf-3.4.0
  2. 编译 Protobuf

    • 打开 x64 Native Tools Command Prompt for VS 2017(从开始菜单 > Visual Studio 2017 > Visual Studio Tools 启动)。
    • 进入 Protobuf 源码目录:
      cd C:\protobuf\protobuf-3.4.0
      mkdir build-vs2017
      cd build-vs2017
      
    • 使用 CMake 生成构建文件(Release 版本):
      cmake -G"NMake Makefiles" -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=install -Dprotobuf_BUILD_TESTS=OFF -Dprotobuf_MSVC_STATIC_RUNTIME=OFF ../cmake
      
    • 编译并安装:
      nmake
      nmake install
      
    • 编译完成后,Protobuf 的头文件和库文件将安装到 C:\protobuf\protobuf-3.4.0\build-vs2017\install
  3. 记录 Protobuf 路径

    • 头文件路径:C:\protobuf\protobuf-3.4.0\build-vs2017\install\include
    • 库文件路径:C:\protobuf\protobuf-3.4.0\build-vs2017\install\lib\libprotobuf.lib(Release 版本)或 libprotobufd.lib(Debug 版本)
    • 可执行文件:C:\protobuf\protobuf-3.4.0\build-vs2017\install\bin\protoc.exe
安装 Vulkan SDK(可选)

如果需要 Vulkan 支持(GPU 加速):

  1. 从 Vulkan SDK 官网 下载最新 Vulkan SDK(例如 VulkanSDK-1.3.x.x-Installer.exe)。
  2. 安装 Vulkan SDK,默认安装路径为 C:\VulkanSDK\1.3.x.x
  3. 配置环境变量:
    • 添加 VULKAN_SDK 环境变量,值为 C:\VulkanSDK\1.3.x.x
    • C:\VulkanSDK\1.3.x.x\Bin 添加到系统 PATH 环境变量。
  4. 确保显卡驱动支持 Vulkan(NVIDIA、AMD 或 Intel 显卡需更新到最新驱动)。
安装 OpenCV(可选)

如果需要处理图像数据:

  1. 从 OpenCV 官网 下载 OpenCV(推荐 3.4.12 或 4.x 版本)。
  2. 解压到本地目录,例如 C:\opencv\opencv-3.4.12
  3. 配置环境变量:
    • C:\opencv\opencv-3.4.12\build\x64\vc15\bin 添加到系统 PATH
  4. 记录 OpenCV 的头文件和库路径:
    • 头文件:C:\opencv\opencv-3.4.12\build\include
    • 库文件:C:\opencv\opencv-3.4.12\build\x64\vc15\lib\opencv_world3412.lib(Release 版本)或 opencv_world3412d.lib(Debug 版本)。
1.2 编译 ncnn
  1. 下载 ncnn 源码

    • 从 ncnn GitHub 下载源码并解压,例如到 C:\ncnn
    • 或者使用 Git 克隆:
      git clone https://github.com/Tencent/ncnn.git
      cd ncnn
      
  2. 创建构建目录

    • 在 ncnn 目录下创建构建文件夹:
      mkdir build-vs2017
      cd build-vs2017
      
  3. 使用 CMake 配置 ncnn

    • 打开 x64 Native Tools Command Prompt for VS 2017
    • 根据是否需要 Vulkan 支持,运行以下命令:
      • 不使用 Vulkan
        cmake -G"NMake Makefiles" -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=install ^
        -DProtobuf_INCLUDE_DIR=C:\protobuf\protobuf-3.4.0\build-vs2017\install\include ^
        -DProtobuf_LIBRARIES=C:\protobuf\protobuf-3.4.0\build-vs2017\install\lib\libprotobuf.lib ^
        -DProtobuf_PROTOC_EXECUTABLE=C:\protobuf\protobuf-3.4.0\build-vs2017\install\bin\protoc.exe ^
        -DNCNN_VULKAN=OFF ..
        
      • 使用 Vulkan
        cmake -G"NMake Makefiles" -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=install ^
        -DProtobuf_INCLUDE_DIR=C:\protobuf\protobuf-3.4.0\build-vs2017\install\include ^
        -DProtobuf_LIBRARIES=C:\protobuf\protobuf-3.4.0\build-vs2017\install\lib\libprotobuf.lib ^
        -DProtobuf_PROTOC_EXECUTABLE=C:\protobuf\protobuf-3.4.0\build-vs2017\install\bin\protoc.exe ^
        -DNCNN_VULKAN=ON ^
        -DVulkan_INCLUDE_DIR=C:\VulkanSDK\1.3.x.x\Include ^
        -DVulkan_LIBRARY=C:\VulkanSDK\1.3.x.x\Lib\vulkan-1.lib ..
        
      • Debug 版本:将 CMAKE_BUILD_TYPE=Release 改为 Debug,并将 libprotobuf.lib 替换为 libprotobufd.lib
  4. 编译并安装 ncnn

    nmake
    nmake install
    
    • 编译完成后,ncnn 的头文件和库文件将安装到 C:\ncnn\build-vs2017\install
    • 主要文件:
      • 头文件:C:\ncnn\build-vs2017\install\include\ncnn
      • 库文件:C:\ncnn\build-vs2017\install\lib\ncnn.lib(Release)或 ncnnd.lib(Debug)
      • CMake 配置文件:C:\ncnn\build-vs2017\install\lib\cmake\ncnn\ncnnConfig.cmake
  5. 验证编译结果

    • 确保 C:\ncnn\build-vs2017\install\include\ncnn\net.h 存在。
    • 确保 C:\ncnn\build-vs2017\install\lib\ncnn.lib(或 ncnnd.lib)存在。

步骤 2:配置 Visual Studio 2017 项目

在 Visual Studio 2017 中创建一个 C++ 项目(例如控制台应用程序),并配置以使用 ncnn 库。

2.1 创建项目
  1. 打开 Visual Studio 2017,选择 文件 > 新建 > 项目
  2. 选择 Visual C++ > Windows 桌面 > Windows 控制台应用程序,输入项目名称(例如 MyNcnnProject),点击确定。
  3. 确保项目配置为 x64 平台:
    • 解决方案资源管理器 中,右键点击项目,选择 属性
    • 配置管理器 中,将 活动解决方案平台 设置为 x64
2.2 配置项目属性

在项目属性中添加 ncnn 的头文件和库路径:

  1. 打开项目属性

    • 解决方案资源管理器 中,右键点击项目,选择 属性
  2. 添加包含目录

    • 转到 配置属性 > C/C++ > 常规
    • 附加包含目录 中添加以下路径:
      C:\ncnn\build-vs2017\install\include
      C:\protobuf\protobuf-3.4.0\build-vs2017\install\include
      
      如果使用 Vulkan,还需添加:
      C:\VulkanSDK\1.3.x.x\Include
      
      如果使用 OpenCV,还需添加:
      C:\opencv\opencv-3.4.12\build\include
      
  3. 添加库目录

    • 转到 配置属性 > 链接器 > 常规
    • 附加库目录 中添加:
      C:\ncnn\build-vs2017\install\lib
      C:\protobuf\protobuf-3.4.0\build-vs2017\install\lib
      
      如果使用 Vulkan,还需添加:
      C:\VulkanSDK\1.3.x.x\Lib
      
      如果使用 OpenCV,还需添加:
      C:\opencv\opencv-3.4.12\build\x64\vc15\lib
      
  4. 添加库依赖

    • 转到 配置属性 > 链接器 > 输入
    • 附加依赖项 中添加:
      • Release 版本:
        ncnn.lib
        libprotobuf.lib
        
        如果使用 Vulkan:
        vulkan-1.lib
        
        如果使用 OpenCV:
        opencv_world3412.lib
        
      • Debug 版本:
        ncnnd.lib
        libprotobufd.lib
        
        如果使用 Vulkan:
        vulkan-1.lib
        SPIRVd.lib
        glslangd.lib
        OGLCompilerd.lib
        OSDependentd.lib
        
        如果使用 OpenCV:
        opencv_world3412d.lib
        
  5. 确保运行时库一致

    • 转到 配置属性 > C/C++ > 代码生成
    • 设置 运行时库 为:
      • Release:多线程 DLL (/MD)
      • Debug:多线程调试 DLL (/MDd)
      • 确保与 ncnn 和 Protobuf 的编译选项一致(即使用 -Dprotobuf_MSVC_STATIC_RUNTIME=OFF)。
  6. 复制 DLL 文件(如果使用动态链接)

    • 如果 ncnn 或依赖库生成了动态库(.dll),需将相关 DLL 文件复制到项目输出目录(例如 MyNcnnProject\DebugMyNcnnProject\Release)。
    • 可能的 DLL 文件:
      • Protobuf:C:\protobuf\protobuf-3.4.0\build-vs2017\install\bin\libprotobuf.dll
      • Vulkan:C:\VulkanSDK\1.3.x.x\Bin\vulkan-1.dll
      • OpenCV:C:\opencv\opencv-3.4.12\build\x64\vc15\bin\opencv_world3412.dll
2.3 测试代码

在项目中创建一个简单的测试程序,验证 ncnn 是否正确配置。

  1. 在项目中添加一个 C++ 文件(例如 main.cpp),添加以下代码:

    #include <iostream>
    #include "ncnn/net.h"int main() {ncnn::Net net;std::cout << "ncnn version: " << ncnn::get_version_string() << std::endl;return 0;
    }
    
  2. 编译并运行

    • 选择 ReleaseDebug 配置,点击 生成 > 生成解决方案
    • 如果配置正确,程序将编译成功并输出 ncnn 的版本号。

步骤 3:使用 CMake 简化配置(可选)

如果你的项目使用 CMake 管理,可以通过 find_package 自动查找 ncnn。

  1. 创建 CMakeLists.txt
    在项目根目录创建 CMakeLists.txt

    cmake_minimum_required(VERSION 3.14)
    project(MyNcnnProject LANGUAGES CXX)set(CMAKE_CXX_STANDARD 11)
    set(CMAKE_CXX_STANDARD_REQUIRED ON)# 查找 ncnn
    set(ncnn_DIR "C:/ncnn/build-vs2017/install/lib/cmake/ncnn" CACHE PATH "Directory containing ncnnConfig.cmake")
    find_package(ncnn REQUIRED)# 添加可执行文件
    add_executable(MyNcnnProject main.cpp)# 链接 ncnn 库
    target_link_libraries(MyNcnnProject ncnn)
    
  2. 生成项目

    • 打开 x64 Native Tools Command Prompt for VS 2017
    • 进入项目目录,运行:
      mkdir build
      cd build
      cmake -G "Visual Studio 15 2017 Win64" ..
      
    • 打开生成的 .sln 文件,编译并运行。
  3. 验证

    • 确保 main.cpp 包含测试代码,编译后运行,检查是否输出 ncnn 版本。

常见问题及解决方法

  1. 错误:#include "ncnn/net.h" file not found

    • 确认 C:\ncnn\build-vs2017\install\include 已添加到 附加包含目录
    • 确认 ncnn 编译成功,net.h 存在于上述路径。
  2. 链接错误:LNK2019: unresolved external symbol

    • 确保 ncnn.lib(或 ncnnd.lib)已添加到 附加依赖项
    • 确认库路径正确,Release/Debug 配置一致。
    • 检查 Protobuf 和 Vulkan 的库是否正确链接。
  3. 运行时错误:无法找到 *.dll

    • 将必要的 DLL 文件(如 libprotobuf.dllvulkan-1.dll)复制到项目输出目录或添加到系统 PATH
  4. Vulkan 相关错误

    • 确保显卡驱动支持 Vulkan,Vulkan SDK 已正确安装。
    • 检查环境变量 VULKAN_SDK 是否设置正确。

参考资料


文章转载自:

http://vB64SNkK.gqtxz.cn
http://OeC0DflC.gqtxz.cn
http://6Wou51Xo.gqtxz.cn
http://pjxtLhBP.gqtxz.cn
http://8Uqx2FOX.gqtxz.cn
http://vcjoJTkZ.gqtxz.cn
http://3lAhgFEj.gqtxz.cn
http://tT2VvSZo.gqtxz.cn
http://ioTtlnKp.gqtxz.cn
http://dgSg1eKl.gqtxz.cn
http://3RPTeLLF.gqtxz.cn
http://y6BO4AeE.gqtxz.cn
http://LMzZhIBR.gqtxz.cn
http://YyaqijN3.gqtxz.cn
http://JJjv0iap.gqtxz.cn
http://FA1CfXQm.gqtxz.cn
http://8IfXz1pz.gqtxz.cn
http://nvqoEMtw.gqtxz.cn
http://HeteUKOO.gqtxz.cn
http://qqrhk7Uv.gqtxz.cn
http://XHrKwvmd.gqtxz.cn
http://ATNPXzEJ.gqtxz.cn
http://IVXduwq4.gqtxz.cn
http://iD2vio6h.gqtxz.cn
http://Sv3MlrpO.gqtxz.cn
http://tnCmdXAe.gqtxz.cn
http://bwz3ZB01.gqtxz.cn
http://CKEE9Lt4.gqtxz.cn
http://GJrDGmar.gqtxz.cn
http://IUKkxIDP.gqtxz.cn
http://www.dtcms.com/wzjs/699520.html

相关文章:

  • 单机游戏网页版网站排名seo教程
  • 怎样建网站卖东西html原神网页制作教程
  • 网站开发模块学些什么大气的门户网站
  • 织梦网站地图如何做衡阳县专业做淘宝网站
  • 如何建设网站服务器建站平台在线提交表格
  • 网站建设的三种方法凡科免费网站能用吗
  • 苏州网站建设系统价格合理电商类网站有几个主流程
  • 有没有做gif的专门网站wordpress自学教程
  • 成都网站建设g冠辰服务器域名解析
  • 网站建设网站目的模板店面设计图片
  • wordpress 文字插件下载无锡seo优化
  • 手游托在什么网站申请做的比较简约的网站
  • 杭州设计公司网站排名株洲最新通知今天
  • 网站后台管理系统哪个好如何用wd做网站设计
  • 杭州开发网站的公司哪家好灯塔seo
  • 企业网站备案要求win2003做网站
  • 东莞九江网站制作好的网站或网页推荐
  • 网站建设版面分几页合适网站开发开源程序
  • 太原网站建设与维护财务软件开发公司简介
  • 非官方网站建设综合类网站怎么做
  • 网站漏洞郫都区规划建设局网站
  • 墨刀做的网站设计dw做网站乱码
  • 怎么搜索网站内容网站备案流程审核单
  • 刷赞网站空间免费网站营销咨询顾问
  • 网站开发服务流程烟台网站建设在哪
  • 网站建设部分费用会计科目空调网站模版
  • 怎么黑网站用代码做一号店网站怎么做
  • 电子商务网站主要功能海口网站建设加q.479185700
  • 婚纱网站手机网站世界上做的最后的网站
  • 门头沟富阳网站建设wordpress 更换模板