2011-04-13 74 views
2

嗨,我是一名中國iOS工程師。關於ProtocolBuffers在iPhone上

我試圖在iPhone上運行協議緩衝區,我從谷歌代碼下載metasyntactic project,並按照您的介紹進行操作。

但是,當我在終端類型的protoc命令我得到一個錯誤,如:

我的命令:> protoc --proto_path =原/ src目錄--objc_out =原/建造原/ src目錄/共同.proto

和錯誤信息是:protoc-GEN-objc:未找到程序或不可執行 --objc_out:protoc-GEN-objc:插件失敗,狀態碼1.

,然後從谷歌代碼中獲得了一個項目並編譯了一個protoc-gen-objc,我運行了這樣的protoc: protoc-prot-gen-objc - -proto_path = GEO3 --proto_path = SRC = --objc_out建/根的src/geo3.proto

,最後我得到這個錯誤信息:

protoc-GEN-objc:文件不存在任何路徑中使用--proto_path(或-I)指定。您必須指定一個包含此文件的--proto_path。請注意,proto_path必須是.proto文件名稱的確切前綴 - 當兩個路徑(例如絕對和相對路徑)相等(比您想象的更難)時,protoc太愚蠢了。

所以我應該如何解決這個問題,並獲得.pb.m文件

非常感謝你。

回答

1

我遇到了同樣的問題。我得到這個消息的原因是因爲我正在使用C++ protoc可執行文件。您必須從官方谷歌網站製作原版。轉到您的目標c目錄所在的協議所在,並執行此操作:

./protoc --proto_path=proto/src --objc_out=proto/build proto/src/common.proto 

這將確保您在當前目錄中使用objective-c protoc。

2

看來這是很長的時間,這個線程,當我從這裏使用包時,我得到了同樣的問題https://github.com/booyah/protobuf-objc

從google安裝官方protobuf軟件包並準備booyah包後,您應手動導出protoc-gen-objc的路徑,對我來說它位於/您的安裝路徑/ src/compiler /中,然後調用protoc命令爲你生成.h和.m。

如果這和你的情況一樣,那就行了。希望它能幫助你和其他人。