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 目錄下