【发布时间】:2014-02-12 21:47:15
【问题描述】:
所以我有这个遗留项目,我正试图将它带到 iOS 7 和 Xcode 5。遗留,我的意思是真正的遗留。就像 2004 年的遗产一样。
无论如何,我正在尝试构建这个东西,它会吐出一些库,包括一些常见的第三方库。链接时,我收到如下错误:
Undefined symbols for architecture ${arch}:
"google::protobuf::internal::WireFormatLite::WriteBytes(int, std::string const&, google::protobuf::io::CodedOutputStream*)"
在使用nm 进行检查后,仍包含在项目中的旧(仅限 arm)二进制库包含以下内容:
U __ZN6google8protobuf8internal14WireFormatLite10WriteBytesEiRKNSt3__112basic_stringIcNS3_11char_traitsIcEENS3_9allocatorIcEEEEPNS0_2io17CodedOutputStreamE
00000a8c T __ZN6google8protobuf8internal14WireFormatLite10WriteBytesEiRKNSt3__112basic_stringIcNS3_11char_traitsIcEENS3_9allocatorIcEEEEPNS0_2io17CodedOutputStreamE
00002b28 S __ZN6google8protobuf8internal14WireFormatLite10WriteBytesEiRKNSt3__112basic_stringIcNS3_11char_traitsIcEENS3_9allocatorIcEEEEPNS0_2io17CodedOutputStreamE.eh</code>
当我通过 Xcode 5(因此,clang/llvm)运行项目时创建的新库(通用)包含以下内容:
U __ZN6google8protobuf8internal14WireFormatLite10WriteBytesEiRKSsPNS0_2io17CodedOutputStreamE
00000514 T __ZN6google8protobuf8internal14WireFormatLite10WriteBytesEiRKSsPNS0_2io17CodedOutputStreamE
00000b2c S __ZN6google8protobuf8internal14WireFormatLite10WriteBytesEiRKSsPNS0_2io17CodedOutputStreamE.eh
对我来说,看起来错位名称中缺少参数。
这正常吗,我需要看看其他地方吗?
或者如果这是问题所在:知道如何解决吗?
编辑:我把旧的和新的混在一起了。我保持原帖不变
【问题讨论】: