2010-09-17 99 views
0

我遇到以下问题:我正在链接包含GData API一部分的Admob库。但我也想链接到GData静态库,直接在我自己的应用程序中使用它。两个库之间的重复符号

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

我该如何避免这种情况?

回答

2

Objective-C的GData库包含一个头文件GDataTargetNamespace.h,它带有宏来重新定义库中的每个类。

您可以在您的项目的标题和你的目标构建定义设置的前缀,像

-DGDATA_TARGET_NAMESPACE = MyApp来

这将前缀添加到每个班级中的GData库为您的应用。

虽然这确实是Admob库中的一个错误。

+0

就我所能确定的,AdMob不在他们的库中使用GData,所以也许冲突来自其他来源。 – 2010-09-23 06:12:33

+0

如何在我的项目中包含标题请详细描述。请参阅http://stackoverflow.com/questions/18486349/duplicate-symbol-in-admob-static-library – BADRI 2013-08-28 11:42:29

0

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

第二个想法,我会说你也可以在运行时加载任何一个库。名称冲突将持续存在,但每个客体-C符号将被覆盖。不确定这是否真的有效。第一种方法也更好。