Iphone 两个库之间的重复符号

Iphone 两个库之间的重复符号,iphone,objective-c,linker,static-libraries,Iphone,Objective C,Linker,Static Libraries,我有以下问题:我正在链接包含GDataAPI某些部分的Admob库。但我还想与GData静态库链接,以便在我自己的应用程序中直接使用它 当然,我在链接时会得到重复的符号 我怎样才能避免呢?没有办法做到这一点。你可能想看看我的相关答案。基本上只有一种方法可以做到这一点:修改Admob库,使其使用相同的GData静态库 再想一想,我认为您也可以在运行时加载这两个库中的任何一个。名称冲突将持续存在,但每个objective-C符号都将被覆盖。不确定这是否真的有效。第一种方法也更好。Objective-

我有以下问题:我正在链接包含GDataAPI某些部分的Admob库。但我还想与GData静态库链接,以便在我自己的应用程序中直接使用它

当然,我在链接时会得到重复的符号


我怎样才能避免呢?

没有办法做到这一点。你可能想看看我的相关答案。基本上只有一种方法可以做到这一点:修改Admob库,使其使用相同的GData静态库


再想一想,我认为您也可以在运行时加载这两个库中的任何一个。名称冲突将持续存在,但每个objective-C符号都将被覆盖。不确定这是否真的有效。第一种方法也更好。

Objective-C GData库包含一个标题GDataTargetNamespace.h,其中包含宏来重新定义库中的每个类

您可以在项目中包含标题,并在目标生成设置中定义前缀,如

-DGDATA_TARGET_NAMESPACE=MyApp

这将为应用程序的GData库中的每个类添加前缀


不过,这确实是Admob库中的一个bug。

据我所知,Admob在其库中没有使用GData,因此冲突可能来自其他来源。如何将标题包含在我的项目中请详细描述。看见