“_OBJC_CLASS _ $ _ GDataOAuthAuthentication”,引自:

时间:2013-08-28 08:08:14

标签: iphone ios xcode4.5

我是ios developpement.i中的新手。在ios 5.1模拟器上运行时有一个项目它工作正常并没有得到任何错误但是在ios 6.0,ios 6.1模拟器上运行的同一个项目我得到了以下错误。可以有人建议我怎么纠正这个问题?

错误:

Undefined symbols for architecture i386:
"_OBJC_CLASS_$_GDataOAuthAuthentication", referenced from:
  objc-class-ref in GDataOAuthViewControllerTouch.o
"_OBJC_CLASS_$_GDataOAuthSignIn", referenced from:
  objc-class-ref in GDataOAuthViewControllerTouch.o
ld: symbol(s) not found for architecture i386
clang: error: linker command failed with exit code 1 (use -v to see invocation)

4 个答案:

答案 0 :(得分:2)

您正在链接尚未针对当前体系结构/ SDK版本编译的外部库。我看到你正在使用VDOAds库,它可能是针对5.1 SDK预编译的。您需要获得为最新iOS SDK预编译的版本。

答案 1 :(得分:2)

试试这个,

  

主要问题是,我以为你正在使用旧的GData sdk。你刚才   将编译器从Apple LLVM 4.2及其更改为LLVM GCC 4.2   完美编译应用程序。

我附上了截图供您参考

项目 - >目标 - >构建设置 - >构建选项 enter image description here

答案 2 :(得分:0)

TargetSettings - >构建阶段 - >编译源代码并确保包含这些缺少的库。

答案 3 :(得分:0)

因此,您有两个问题,对于警告,库已添加到您的构建阶段,但它们已从项目中删除,它们仍然存在。

对于错误,您正在使用的库未添加到Build Phases - >链接二进制文件库。

因此,为了解决此警告/错误,请转到您的项目目标 - >构建阶段 - >链接Binary With Libraries,并搜索libGoogleAnalytics(我认为这是GA的那个)并删除它(如果不需要)。

还要在其中添加VDOAds库以修复错误。

我还添加了一个包含目标的屏幕截图,如果您不了解它,将更容易找到它。 enter image description here