0

我是 ios 开发新手。我在 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

4 回答 4

2

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

于 2013-08-28T08:20:53.447 回答
2

试试这个,

主要问题是,我以为您使用的是旧的 GData sdk。您只需将编译器从 Apple LLVM 4.2 更改为 LLVM GCC 4.2,它就可以完美地编译应用程序。

我附上了截图供您参考

项目->目标->构建设置->构建选项 在此处输入图像描述

于 2013-09-07T05:55:13.117 回答
0

TargetSettings -> Build Phases -> Compile Sources 并确保其中包含这些缺少的库。

于 2013-08-28T08:23:24.430 回答
0

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

对于该错误,您正在使用的库未添加到 Build Phases -> Link Binary With Libraries。

因此,为了解决此警告/错误,请转到您的项目 Targets -> Build Phases -> Link Binary With Libraries,然后搜索 libGoogleAnalytics(我认为这是 GA)并将其删除(如果不需要)。

还要在那里添加VDOAds库以修复错误。

我还添加了带有目标的屏幕截图,如果您不知道它会更容易找到它。在此处输入图像描述

于 2013-08-28T08:29:44.150 回答