把proto文件編譯成objective-c文件

 轉自:http://blog.csdn.net/liliangchw/article/details/8525834     liliang的專欄

1,下載ProtocolBuffer包,並按照包中根目錄下README.txt安裝。

http://code.google.com/intl/zh-CN/apis/protocolbuffers/

當前最新版本2.4.1

最後make install後,會生成編譯器protoc,並拷貝到/usr/local/bin目錄下。

 

2,下載Objective-C compiler for ProtocolBuffer。

目前有兩種類型的實現。

一個針對ProtocolBuffer2.2做修改,使最後生成的.proto文件編譯器(protoc)支持Objective-C類型的文件輸出。

它在這裏:http://code.google.com/p/metasyntactic/wiki/ProtocolBuffers

另一個針對ProtocolBuffer2.3推出的plugin模式編寫插件,以插件方式支持Objective-C類型的文件輸出。

它在這裏:https://github.com/booyah/protobuf-objc

我選用第二種方式,這也是Google推薦的方式。

git clone https://github.com/booyah/protobuf-objc.git

默認會在當前運行目錄下創建protobuf-objc目錄。進入該目錄,並執行:

./autogen.sh

./configure

make

make install

最終生成的插件名字爲protoc-gen-objc,會被安裝到/usr/local/bin/目錄下。

 

3,測試.proto文件編譯。

隨便寫一個test.proto文件,並編譯該文件。命令是:

protoc –objc_out=/Output/Directory/ test.proto

protoc會自動在/usr/local/bin/目錄下尋找名爲”protoc-gen-objc”的插件,並使用該插件編譯.proto文件,最終生成兩個文件:

test.pb.h

test.pb.m

這個步驟通過後,說明ProtocoBuffer Compiler for Objective-C可以正常工作了。

 

4,在Xcode4.3.1中使用ProtocolBuffer

將步驟2中protobuf-obj/src/runtime/Classes目錄導入到Xcode項目中,導入時,選中”Copy items into destination group‘s folder(if needed)“。

導入位置選擇項目根目錄。導入完畢後,項目根目錄下將會出現Classes目錄。將該目錄改名爲ProtocolBuffers(注意最後的s):

mv Classes ProtocolBuffers

修改項目屬性中”Build Setting——>Header Search Pathes”,將項目根目錄“.”添加到頭文件搜索路徑中去。

這樣ProtocolBuffer for Objective-C的工作環境就配置好了。

5,使用

將步驟3中編譯輸出的test.pb.h和test.pb.m添加到項目中,就可以直接使用了。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章