vs2015编译protobuf
‘壹’ 如何对 protobuf-lite编程,c++ android
protocol buffer编译器生成 Foo 类,公开地(publicly)派生自 google::protobuf::Message。Foo类是一个实体类;禁止遗留下纯虚的方法没有被实现。除了 Message 中的虚方法之外,非纯虚的方法可以由 Foo 类重载也可以不重载,取决于优化模式。缺省,为了最高的速度, Foo 实现特定protocol buffer版本的所有方法。不管怎样,如果 .proto 文件包含下列行:
1 option optimize_for = CODE_SIZE;
Foo 将仅重载运行必需的最小方法集合,和依赖于基于反射实现的剩余部分。这意味着减小了生成代码的大小,但也减小了性能。或者,如果 .proto 文件包含:
1 option optimize_for = LITE_RUNTIME;
Foo 将包含所有方法的快速实现(fast implementations),但是是实现 google::protobuf::MessageLite 接口,仅包含 Message 中所有方法的一个子集。尤其,它不支持描述符(descriptors)或反射。不管怎样,以这种方式生成的代码只需要连接 libprotobuf-lite.so (Windows上是 libprotobuf-lite.lib) 而不是 libprotobuf.so(libprotobuf.lib)。"lite"库比 "full"库(完整的库)要小很多,更适用于资源受限的系统,比如手机。
你不应该创建 Foo 的子类。如果你子类化 Foo ,并且重载虚方法,重载可能被忽略,就像很多生成的方法为了提高性能被去虚拟化(de-virtualized)。
‘贰’ 如何编译protobuf 文件
ProtoBuf java 包编译ProtoBuf的官方下载包并不包含jar文件,需要用户自己configure/make….来自行编译。由于Windows上没有编译环境,就用了一个笨一点方法处理了。
分别下载:
protobuf-2.4.1.zip ProtoBuf的源文件(包含了C++/Java/Python)的源文件
protoc-2.4.1-win32.zip 已经编译过的用于Windows平台的protoc命令(该命令用于将.proto文件转化为Java或C++源文件)。
分别解析这两个文件,你可以在protoc-2.4.1-win32.zip解压后的文件中找到一个protoc.exe文件,将其到protobuf-2.4.1/src目录下,然后进入protobuf-2.4.1/java,执行:
mvn install
‘叁’ VisualStudio2015生成sln客户端怎么操作
你是否想了解VisualStudio2015如何生成sln客户端吗?下面就是,赶紧来看一下吧。希望大家喜欢。
1、打开teamtalk.sln解决方案--》升级为vs2015项目--》编译解搏没迅决方案提示错误信息如基此下:
2、解决在对应提示出错的项目的属性中库(Properties-Linker-Input-AdditionalDependencies)引用中更改其名称为mfcs140ud.lib即可。
3、提示错误--》解决此错误只需重新编译protobuf源码和security生成新的lib文件复制到win-client/3rdParty/lib/debug目录下即可。
4、完成编译后在protobuf目录下的Debug目录中生成此两个库的提示错误如下
5、进入/server/src/libsecurity/win/目录下命令行运行build.bat批处理文件修改批处理文件else跟随到右括号)后面即可,切记要安装好cmake。
6、解决方案生成库也复制到win-client/3rdParty/lib/debug目察简录下即可
VisualStudio|
‘肆’ 在windows环境下 编译pb (protobuf) 文件
protoc --plugin=protoc-gen-go.exe --go_out= . xx.proto
protoc --plugin=protoc-gen-go.exe 粗伏拦 --go-grpc_out= . xx.proto
若提示: --go-grpc_out: protoc-gen-go-grpc: 系统找不到指定的文件。
需在 grpc-go-1.31.0\cmd\protoc-gen-go-grpc 进行编译, go build即可。 把生成的protoc-gen-go-grpc.exe放岩胡到你的厅陪 GOPATH/bin 目录下