0

我在我的应用程序中使用 Layar Player。
它提供了一个静态库以包含在您的项目中。
安装并尝试编译后,出现此错误:

ld:重复符号_OBJC_CLASS_$_Reachability在//LayarPlayer/Debug/liblayarplayer.a(Reachability.o) 和//MyApp.build/Debug-iphoneos/MyApp.build/Objects-normal/armv7/Reachability.o 架构 armv7

我在我的应用程序中使用可达性来检查网络状态,但它似乎已经包含在库中。
我已经尝试删除代码中的每个#import Reachability,但显然我得到了“未声明的函数”错误。
我该如何解决这个问题?

4

3 回答 3

2

您需要从项目中删除引用。这意味着不要删除,#import Reachability而是在您的项目文件中搜索Reachability.mReachability.h 删除它们,这样您的项目中就只有一个。

于 2011-07-17T16:01:50.927 回答
0

我从目标中排除了所有冲突的 .m 文件,现在一切都很好。
头文件不得删除。

于 2011-07-18T21:49:44.107 回答
0

我解决了同样的问题

  1. 检查您的项目删除重复的可达性文件;
  2. 替换旧版本的可达性(我目前使用的是 2.2 版);
  3. 将 -ObjC -all_load 链接器标志打开。

希望它可能会有所帮助。

于 2012-10-25T07:39:11.600 回答