2011-04-13 2 views
2

안녕하세요 저는 중국 iOS 엔지니어입니다.iPhone에서 ProtocolBuffers 정보

그리고 iphone에서 프로토콜 버퍼를 실행하려고하는데 Google 코드에서 metasyntactic project을 다운로드하고 소개를 따르십시오.

하지만 난 내 터미널에서 protoc 명령을 입력 할 때 나는 같은 오류를 가지고 :

내 명령> protoc --proto_path = 프로토/src에 --objc_out = 킬로그램/킬로그램을 구축/SRC/일반 프로그램이 없거나 --objc_out 실행되지 않습니다 : : protoc 세대-objc :

및 오류 메시지 .proto입니다 protoc 세대-objc : 플러그인 상태 코드로 실패 1.

다음 Google 코드에서 프로젝트를 가져 와서 protoc-gen-objc를 컴파일하면 다음과 같이 protoc를 실행합니다. protoc protoc-gen-objc - -proto_path = GEO3 --proto_path = SRC --objc_out = 건설/세대 SRC/geo3.proto

그리고 마지막으로 내가이 오류 메시지가 있어요 :

protoc 세대-objc : 파일이 어떤 경로 내에 상주하지 않습니다 --proto_path (또는 -I)를 사용하여 지정합니다. 이 파일을 포함하는 --proto_path를 지정해야합니다. proto_path는 .proto 파일 이름의 정확한 접두사 여야합니다. protoc은 두 경로 (예 : 절대 경로 및 상대 경로)가 동등한 경우를 생각하기에는 너무 멍청합니다 (생각보다 어렵습니다).

그래서 내가 그것을 어떻게 수정해야하고,

가 대단히 감사합니다 .pb.m 파일을 얻을.

답변

1

동일한 문제가 발생했습니다. 내가 C++ protoc 실행 파일을 사용했기 때문에 내가 그 메시지를받은 이유가 있습니다. 공식 Google 사이트에서 protobuf를 만들어야합니다. protoc이있는 당신의 목표 - C 포트 디렉토리로 이동하여 다음을 수행

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

이것은 당신이 당신의 현재 디렉토리에 목표 - C protoc 사용할 수 있는지 확인합니다.

2

이 스레드는 오랜 시간 동안 보입니다. 여기서 패키지를 사용할 때 동일한 문제가 발생합니다. https://github.com/booyah/protobuf-objc.

Google에서 공식 protobuf 패키지를 설치하고 booyah 패키지를 준비한 후 protoc-gen-objc의 경로를 수동으로 내 보내야합니다. 설치 경로/src/compiler /에 있습니다. protoc 명령을 사용하여 .h 및 .m을 생성합니다.

이 경우가 동일한 경우 작동합니다. 그것이 당신과 다른 사람들에게 도움이되기를 바랍니다.