如何在Windows环境下的VS中安装使用Google Protobuf完成SOCKET通信

如何在Windows环境下的VS中安装使用Google Protobuf完成SOCKET通信,第1张

1.下载protobuff,我下的是2.3.0版本

最新的protobuf可以到Google Code上下载:http://code.google.com/p/protobuf/downloads/list

当前版本为2.3.0,下载两个压缩包:protoc-2.3.0-win32.zip和protobuf-2.3.0.zip,前者是protobuf的编译器,后者包含了有三程序语言的开发包。

2.解压

首先解压protoc-2.3.0-win32.zip,把protoc.exe文件放到path路径中,最简单的做法就是把这个文件拷贝到C:/WINDOWS目录下。

解压protobuf-2.3.0.zip文件,将文件加压到C盘根目录,主文件位于C:/protobuf-2.3.0/protobuf-2.3.0目录下。

3.安装 *** 作

(1)使用VS2005编译proto,VS工程目录位于vsprojects目录中,工程名字为“protobuf.sln”。

(2)选择“生成”à“生成解决方案”选项进行编译,编译过程中可能会由于编译的顺序报错误,可以使用手工逐个顺序编译生成,可能会比较顺利。按照下图的顺序,右键“重新生成”,逐个编译。但是我在实习 *** 作过程中,libprotobuf-lite工桥漏罩程重来都没有成功编译通过过。淡定先,这个不会影响大局的。

(3)编译完成会在目录vsprojects下的Debug目搜拦录中生成lib和exe文件。

生成清单如下:

exe文件:

2010-04-15 09:51 950,272 lite-test.exe

2010-04-15 09:50 3,219,456 protoc.exe

2010-04-15 09:48 9,228,288 tests.exe

2010-04-15 09:56 2,519,040 test_plugin.exe

lib文件:

2010-04-15 09:50 2,685,922 libprotobuf-lite.lib

2010-04-15 09:56 24,100,794 libprotobuf.lib

2010-04-15 09:56 17,302,068 libprotoc.lib

其实我在测试过敏闹程中,lite-test.exe和libprotobuf-lite.lib并没有生成,因为编译错误了,但这并不影响大局,淡定先。

(4)OK,至此,我们已经完成了编译工作,下面需要进行的是protobuf的测试。我们需要使用到之前VS编译出来的libprotobuf.lib和libprotoc.lib完成一个C/S结构的SOCKET通信测试。

àProtobuf的测试

在VS2005下,创建两个新的工程,分别命名为server和client,每个工程都需要引用protobuf的头文件和lib文件。

一、添加protobuf头文件 *** 作:右击项目à属性à配置属性àC/C++à常规 (也命令行可在中添加)。具体路径:C:/protobuf-2.3.0/protobuf-2.3.0/src

二、添加protobuf的lib文件 *** 作:右击项目à属性à配置属性à链接器à常规(也可在命令行中添加)。具体路径:C:/protobuf-2.3.0/protobuf-2.3.0/vsprojects/Debug

三、CMD窗口下编译生成头文件:

C:/protobuf-2.3.0/protobuf-2.3.0/examples>protoc -I=./ --cpp_out=./ people.proto

将proto文件生成的文件放到当前目录。

首先点击visual Studio 2019,打开vs2019应用。

请点击输入图片描述

显示Visual Studio正在启动,等待毕毁应用启动即可。

请点击输入图片描述

点击“创建新项目”,即可创建一个新的c或者c++项目。

请点击输入图片描述

点击控制台应用,然后点击下一步按钮,即可创建一个控制台项目。

请点击输入图片描述

输入项目名称,设置一个项目位置,然后点击创建按钮,则创建对应项目。肢数则

请点击输入图片描述历棚

写入HelloWorld代码,点击本地Windows调试器,运行代码。

请点击输入图片描述

显示代码成功运行,并且显示了对应的Hello World的结果,即结果正确。

请点击输入图片描述

我不清楚 你说的有不同地址是什么意思。既然是com3端口连接了。怎么还会出现不同的地址呢?还是说,你的地址只是传输中的一个数悔历据?

如果简单的说贺悔,拖一个SerialPort的控件,设置号端口、波特率等属性就可以连禅前正接了。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12404520.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-25
下一篇 2023-05-25

发表评论

登录后才能评论

评论列表(0条)

保存