How to configure GRPC by vcpkg and visual studio 2022?

     之前装了visual studio 2019, 运行客户demo,发现使用的visual studio 2022上的grpc库版本,所以又升级安装了vs2022,由于之前已经安装了grpc(基于vs2019 MSVC库),由于grpc版本是由不同的msbuild(visual studio)的MSVC库的版本决定的。所以决定删除掉老的grpc库(vs2019 msvc库),去安装新版本的grpc库(基于vs2022 MSVC库),但移除老grpc库,试了指定vcpkg中grpc port的方法请参考文章vcpkg安装指定版本的库_vcpkg 指定版本-优快云博客,但安装指定版本库时会报错,后来又尝试解决报错,请参考文章2024最新版Vcpkg安装第三方库报错error: building XXXX failed with: BUILD_FAILED_build version: 1.0.3 build date: 2024-05-18 14:06:-优快云博客

尝试多次无果,索性把整个vcpkg目录删除,重新配置vcpkg,再下载grpc lib。

使用清单文件加载依赖文件到项目的做法,请参考文章:vcpkg 从清单文件安装依赖项_vcpkg清单模式-优快云博客

本章节主要讲述怎样在本地使用vcpkg构建基于windows平台的grpc库,不考虑vcpkg的清单模式。

首先什么是vcpkg,请参考文章vcpkg 概述 | Microsoft Learn, 简单来说就是管理各种库并防止库冲突的工具,我们接下来使用它来下载grpc库。请参考在 Visual Studio 中使用 MSBuild 安装和管理包 | Microsoft Learn,这里我们只需使用先决条件的设置vcpkg 1,克隆存储库 2.运行启动脚本,3.与 Visual Studio MSBuild 集成,这里不讨论使用清单模式。其中第2步运行启动脚本,由于网络原因,下载vcpkg.exe会比较慢,经常出现失败的情况,大家可以把最新自己独立下载的vcpkg.exe拷贝到vcpkg目录下,同时也要把vcpkgTools.xml拷贝到vcpkg\scripts目录下。vcpkg安装完成,接下来需要设置vcpkg的环境变量,设置名为VCPKG_ROOT的环境变量,内容是d:\vcpkg。然后就可以安装grpc库了,首先打开visual studio 2022工程文件,选择tools->command line->Developer PowerShell,界面如图1所示:在当前目录下输入命令 vcpkg install grpc:x64-windows,第一次提示:找不到vcpkg\scripts\vcpkgTools.xml,由于网速差,我不是下载的vcpkg.exe,所以也需要拷贝vcpkgTools.xml这个文件到scripts目录下,再次执行命令vcpkg install grpc:x64-windows,成功开始安装了,除了安装grpc的包,还会安装protobuf的包,还有cmake的包,这些lib在这个命令中会统一安装完成,这个过程比较耗时,需要二三十分钟这个样子。

图1

安装过程中,网络状况依然不好,如图2所示,出现好几次buid failed,所以需要重新输入命令:vcpkg install grpc:x64-windows

                                                                         图2

中间重试了两次安装命令后,最后安装完成了,参见图3。

图3

然后在项目属性中配置上lib, include文件夹,位于D:\vcpkg\installed\x64-window下,具体配置lib及dll的详情,请参考VS 中 c++ 工程添加 lib 库 dll 库及头文件的步骤_vs c++ 使用.lib dll-优快云博客,配置完毕后,rebuild整个项目,第一次rebuild grpc lib需要半个小时左右,(由于安装库,但第一次安装好后,后面rebuild 就几分钟的时间),请耐心等visual studio 2022编译完成,然后程序就可以启动了。

### 配置环境 为了在Visual Studio 2022中配置并部署基于CPU的PaddleOCR项目,需遵循一系列特定的操作流程来确保项目的顺利编译与运行。 #### 创建构建目录 在`cpp_infer`文件路径下创建一个名为`build`的空文件夹,此操作旨在提供一个专门的空间用于后续的编译过程[^3]。 ```bash mkdir D:\projects\PaddleOCR\deploy\cpp_infer\build ``` #### 设置CMake参数 启动CMake GUI工具,并按照如下方式设定参数: - **Source Code Path**: `D:\projects\PaddleOCR\PaddleOCR-release-2.3\deploy\cpp_infer` - **Build Path**: `D:\projects\PaddleOCR\deploy\cpp_infer\build` 完成上述设置之后,点击Configure按钮以初始化配置过程。此时应选择适用于Windows平台下的Visual Studio 2022 Generator选项,并指定目标架构为x64位模式[^2]。 #### 调整预处理器宏定义 进入Visual Studio 2022内的属性管理器,针对当前使用的Release|x64配置页面展开编辑工作。具体来说,在C/C++ -> Preprocessor节点内找到Preprocessor Definitions字段,向其中追加`_CRT_SECURE_NO_WARNINGS`这一项,从而避免因安全警告而导致的编译错误[^5]。 #### 添加必要的头文件路径 同样是在属性管理器里边,转至VC++ Directories部分,依次加入以下三个位置作为Include Files的有效查找范围: - Intel OpenVINO SDK安装目录下的runtime/include子文件夹 - OpenCV库对应的include组件所在的位置 - Paddle Inference第三方依赖包里的gflags模块所处之处 这些更改有助于链接阶段顺利完成,防止由于缺少必要声明而引发的问题[^4]。 #### 动态链接库处理 当一切准备就绪后,尝试构建整个解决方案。如果遇到关于缺失`paddle_inference.dll`的通知,则表明还需要进一步确认该DLL及其关联资源已被正确放置于系统的PATH变量之中或是应用程序的工作空间附近。 通过以上步骤可以实现在Visual Studio 2022环境下利用CPU硬件加速特性来进行PaddleOCR应用开发的目标。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值