2013-02-24 52 views
0

我无法为iPhone设置我的GData项目。我遵循How to use GData in iphone?后的答案中的指示。该项目编译好,但给我一个链接器错误,如果我尝试运行它。链接器错误是设置GData iOS项目的问题

Undefined symbols for architecture i386: 
"_OBJC_CLASS_$_GDataServiceGoogleYouTube", referenced from: 
    objc-class-ref in BWC_ViewController-C85FBF830F43777.o 
ld: symbol(s) not found for architecture i386 

请SE随附的屏幕截图

enter image description here

谢谢!

+0

详细信息您要求的项目编译好但你清楚地贴在输出显示一大堆的编译器警告。警告是不好的。先修复它们。 – rmaddy 2013-02-24 19:27:15

+0

警告是因为我在编译阶段的编译源中添加了头文件。删除它们,现在警告已修复。但链接器错误仍然存​​在。 – tbag 2013-02-24 20:01:39

+0

请注意,GData API不是YouTube的当前API。相反,应用程序应该使用新的基于JSON的库,https://code.google.com/p/google-api-objectivec-client/ – grobbins 2013-02-26 02:39:02

回答

0

通常,您的错误意味着您在您的BWC_ViewController中使用了GDataServiceGoogleYoutube,而您的目标中没有#import "GDataServiceGoogleYoutube"或某些GData .m文件丢失。见下面的评论https://stackoverflow.com/a/14148008/2092007

+0

Gdata * .m文件从我的xcode项目的目标中丢失。他们出席了GData项目的目标。但是,只要我将它们添加到目标中,就会看到〜012个奇怪的警告消息,如 “警告:无法处理文件$(PROJECT_DIR)/ TestYoutube /../../../ trunk /源/自省/ GData AtomCategoryGroup.m'架构i386的文件类型“ – tbag 2013-02-24 21:25:58

0

是的,我明白了。

这个错误,因为Gdata api使用非弧和您的项目使用弧。 为了避免这种情况有两个选项有

  1. 转到项目的目标选择构建阶段选项卡去编译源代码找到GDataServiceGoogleYoutube.m文件并双击,输入-fno-objc弧。

  2. 将您的项目更改为非弧形(我建议您执行第一个选项)。

注意:您必须将所有gdata类更改为-fno-objc-arc。