Windows下C++使用gRPC(Qt和VS,含文件包和使用方法)

简介: 最近用到了gRPC,配置了很长时间,分享一下配置过程。先来看一下我准备的文件包(资源我放在最后)

最近用到了gRPC,配置了很长时间,分享一下配置过程。先来看一下我准备的文件包(资源我放在最后):

  • bin文件夹中有proto的编译文件
  • include中是头文件
  • lib文件夹中是静态库
  • 下面三个文件使用中会用到

环境

  • Qt5.14.2
  • Visual Studio >= 2019

配置gRPC

以Qt为示例,不使用Qt的差不多

1. 创建一个Qt控制台项目


2. 设置项目属性


3. 跟着我设置以下内容

- 设置包含目录include下

- 设置库目录lib下


- 设置附加包含目录include下


- 禁用安全检查


- 附加库目录lib下


- 附加依赖项将我提供的liblist内容复制进去


4. 准备proto文件

打开protoCompile文件查看模板

protoc --cpp_out=./ user.proto
protoc --grpc_out=. --plugin=protoc-gen-grpc=./grpc_cpp_plugin.exe ./user.proto 

进入bin的bebud或者release文件夹目录打开cmd,不会cmd的看图



准备你的proto文件然后用模板编译,将user.proto换成你的。这里不说proto文件是啥,只说怎么配置。

5. 将编译出的两个.h和两个.cc文件复制到项目文件夹下并且添加进项目。

问题


- 如果出现和”_WIN32_WINNT“有关的报错,就添加编译宏

Windows+VS2015使用gRPC_sunwake999的博客-CSDN博客

- 如果出现”功能测试宏的参数必须是简单标识符“

Visual Studio 2017在编译时出现错误E2512:功能测试宏的参数必须是简单标识符_机器视觉001的博客-CSDN博客

- 如果出现”常量中有换行符“

解决VS编译中文报错 error C2001:常量中有换行符_vs error c2001: 常量中有换行符_love_0_love的博客-CSDN博客

- 如果本来是QtCreator的的pro工程

Qt 项目在Vs和QtCreator的转换方法_qtcreater和vs_凶猛的瘦子的博客-CSDN博客

- 如果没有Qt+vs的插件

Index of /development_releases/vsaddin

- 其他问题

私信我或者邮箱”hyj264539891@163.com“


资源包

https://download.csdn.net/download/H520xcodenodev/88249380


连接失效可以点我主页或者私信我

参考内容:

Qt GRPC Windows+Linux使用-含史上最靠谱的Demo_qt 工程使用 grpc linux_宇宙的尽头是编制的博客-CSDN博客


相关文章
|
11天前
|
数据安全/隐私保护 C++ 计算机视觉
Qt(C++)开发一款图片防盗用水印制作小工具
文本水印是一种常用的防盗用手段,可以将文本信息嵌入到图片、视频等文件中,用于识别和证明文件的版权归属。在数字化和网络化的时代,大量的原创作品容易被不法分子盗用或侵犯版权,因此加入文本水印成为了保护原创作品和维护知识产权的必要手段。 通常情况下,文本水印可以包含版权声明、制作者姓名、日期、网址等信息,以帮助识别文件的来源和版权归属。同时,为了增强防盗用效果,文本水印通常会采用字体、颜色、角度等多种组合方式,使得水印难以被删除或篡改,有效地降低了盗用意愿和风险。 开发人员可以使用图像处理技术和编程语言实现文本水印的功能,例如使用Qt的QPainter类进行文本绘制操作,将文本信息嵌入到图片中,
31 1
Qt(C++)开发一款图片防盗用水印制作小工具
|
24天前
|
Windows
Windows下对于Qt中带 / 的路径的处理
Windows下对于Qt中带 / 的路径的处理
24 9
|
18天前
|
存储 分布式数据库 API
技术好文:VisualC++查看文件被哪个进程占用
技术好文:VisualC++查看文件被哪个进程占用
|
2月前
|
Windows
Windows的mklink使用方法
【5月更文挑战第20天】Windows的mklink使用方法
58 0
|
12天前
|
C语言 C++ 开发者
C++基础知识(一:命名空间的各种使用方法)
C++在C的基础上引入了更多的元素,例如类,类的私密性要比C中的结构体更加优秀,引用,重载,命名空间,以及STL库,模板编程和更多的函数,在面向对象的编程上更加高效。C语言的优势则是更加底层,编译速度会更快,在编写内核时大多数都是C语言去写。 在C++中,命名空间(Namespace)是一种组织代码的方式,主要用于解决全局变量、函数或类的命名冲突问题。命名空间提供了一种封装机制,允许开发者将相关的类、函数、变量等放在一个逻辑上封闭的区域中,这样相同的名字在不同的命名空间中可以共存,而不会相互干扰。
|
19天前
|
C++
C++职工管理系统(类继承、文件、指针操作、中文乱码解决)
C++职工管理系统(类继承、文件、指针操作、中文乱码解决)
20 0
C++职工管理系统(类继承、文件、指针操作、中文乱码解决)
|
21天前
|
C++ iOS开发 开发者
C++一分钟之-文件输入输出(I/O)操作
【6月更文挑战第24天】C++的文件I/O涉及`ifstream`, `ofstream`和`fstream`类,用于读写操作。常见问题包括未检查文件打开状态、忘记关闭文件、写入模式覆盖文件及字符编码不匹配。避免这些问题的方法有:检查`is_open()`、显式关闭文件或使用RAII、选择适当打开模式(如追加`ios::app`)以及处理字符编码。示例代码展示了读文件和追加写入文件的实践。理解这些要点能帮助编写更健壮的代码。
30 2
|
1月前
|
编译器 C语言 C++
C++中.h和.hpp文件有什么区别?
C++中.h和.hpp文件有什么区别?
|
18天前
|
IDE 开发工具 C++
插件:CLion中使用C/C++ Single File Execution插件编译和运行单个文件
插件:CLion中使用C/C++ Single File Execution插件编译和运行单个文件
25 0
|
19天前
|
Linux C++
详细解读C++CTime使用方法
详细解读C++CTime使用方法