私はこれに従いました: http://code.google.com/p/metasyntactic/wiki/ProtocolBuffers
Person.proto ファイルをコンパイルできました
.h および .m ファイルを静的 lib プロジェクト (libIOS) に追加しました
UI プロジェクトは libIOS を参照します
コンパイルすると、UIプロジェクトで次のエラーが発生します
Undefined symbols for architecture i386:
"_OBJC_CLASS_$_PBExtensionRegistry", referenced from:
objc-class-ref in libIOS.a(Person.pb.o)
"_OBJC_CLASS_$_PBGeneratedMessage", referenced from:
_OBJC_CLASS_$_Person in libIOS.a(Person.pb.o)
"_OBJC_CLASS_$_PBGeneratedMessage_Builder", referenced from:
_OBJC_CLASS_$_Person_Builder in libIOS.a(Person.pb.o)
"_OBJC_CLASS_$_PBMutableExtensionRegistry", referenced from:
objc-class-ref in libIOS.a(Person.pb.o)
"_OBJC_CLASS_$_PBUnknownFieldSet", referenced from:
objc-class-ref in libIOS.a(Person.pb.o)
"_OBJC_IVAR_$_PBGeneratedMessage.memoizedSerializedSize", referenced from:
-[Person serializedSize] in libIOS.a(Person.pb.o)
"_OBJC_METACLASS_$_PBGeneratedMessage", referenced from:
_OBJC_METACLASS_$_Person in libIOS.a(Person.pb.o)
"_OBJC_METACLASS_$_PBGeneratedMessage_Builder", referenced from:
_OBJC_METACLASS_$_Person_Builder in libIOS.a(Person.pb.o)
"_computeInt32Size", referenced from:
-[Person serializedSize] in libIOS.a(Person.pb.o)
"_computeStringSize", referenced from:
-[Person serializedSize] in libIOS.a(Person.pb.o)
ld: symbol(s) not found for architecture i386
clang: error: linker command failed with exit code 1 (use -v to see invocation)
プロジェクト libIOS は正常に準拠し、エラーは発生しません
プロジェクト UI で上記のエラーが発生する