protobuf 真正 在IOS中的使用

2022-04-13 07:56:25 字數 846 閱讀 8066

#include
,修改如下:

#ifdef __deccxx

// hp c++'s iosfwd doesn't work.

#include

#else

#include

//#include //注釋掉這個

#endif

另外,可能還會是其他錯誤,參考:

3.至此就在src目錄下生成了protoc工具,開始使用此工具:

whedemac-mini:protocolbuffers-2.2.0-source whe$ src/protoc --objc_out=build/objc

person.proto(

objc_out表示輸出檔案的目錄

)注意哦!不能直接cd到protoc工具所在的目錄(即src目錄)中,然後再直接使用protoc,因為這本身不包含--objc_out選項的,一定要從它的上級目錄中開始使用(或者是./protoc呼叫也可以,也代表先跳轉到protoc的上級目錄再使用protoc),這是因為在src目錄下還有一系列檔案是用來生成oc類的(輸入src/protoc

--help命令便可以看到出現了--objc_out選項)

4.新建乙個工程,將生成的person

oc版的檔案匯入,然後將protocolbuffers-2.2.0-source/objectivec

下的檔案放到專案的目錄下,建立乙個protobuflib資料夾,放進去,最好放在乙個資料夾下面像這樣

之後把protocolbuffers.xcodeproj新增到專案中,配置像這樣:

protocolbuffers編譯報錯參考:

其他參考:

protobuf在iOS中得使用

1.執行指令碼 2.編寫 proto 檔案 3.把 protobuf platform platform libprotobuf.a 新增到工程裡 4.把 protobuf include下的google檔案新增到工程 5.配置header search paths 和user header sea...

protobuf中的omitempty欄位

一句話總結 帶有omitempty欄位的成員,如果該字段為nil 字串 空陣列等 則打包的json結果不會有這個字段。我們把proto檔案自動生成go 時會出現omitempty欄位,如下 type reply struct直接上 package main import encoding json ...

Protobuf 中的型別檢查

在使用protobuffer時,如果定義乙個訊息如下 enum my enum enum type1 1,enum type2 2 message my msg required my enum test enum 1 那麼,在protoc生成的 中,在賦值時 set test enum const...