7

我已经阅读了很多关于 SO 的帖子,但没有一个建议的解决方案对我有用。我希望对解释错误有更多了解的人可以提供帮助。

我的应用程序一直运行良好(现在仍然运行良好),但是在使用某个类“iCarousel”时遇到了问题,该类是 Cover Flow 的实现。

有趣的是:当打开 iCarousel 的示例项目时,它在我的 iPhone 上运行良好。我的应用程序(在一个单独的项目中)也运行良好。它们都使用armv6 armv7 架构并在 iOS 5.1 上运行。

然后我将该类复制到我自己的项目中并添加所有必要的框架。还没有错误。但是当我构建并运行时,我得到一个错误:

Ld /Users/Sooper/Library/Developer/Xcode/DerivedData/TestApp-
ejfsezvwxyxhqpanwwrcmsbkslxi/Build/Intermediates/TestApp.build/Debug-
iphoneos/TestApp.build/Objects-normal/armv7/TestApp normal armv7

    cd "/Users/Sooper/Developer/TestApp v1.0"
    setenv IPHONEOS_DEPLOYMENT_TARGET 5.0
    setenv PATH "/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin:
    /Applications/Xcode.app/Contents/Developer/usr/bin:/usr/bin:/bin:/usr/sbin:/sbin"

/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang -arch armv7 -isysroot 

/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS5.1.sdk
 -L/Users/Sooper/Library/Developer/Xcode/DerivedData/TestApp-ejfsezvwxyxhqpanwwrcmsbkslxi/Build/Products/
Debug-iphoneos -F/Users/Sooper/Library/Developer/Xcode/DerivedData/TestApp-ejfsezvwxyxhqpanwwrcmsbkslxi/Build/Products/
Debug-iphoneos -filelist /Users/Sooper/Library/Developer/Xcode/DerivedData/TestApp-ejfsezvwxyxhqpanwwrcmsbkslxi/Build/Intermediates/TestApp.build/
Debug-iphoneos/TestApp.build/Objects-normal/armv7/TestApp.LinkFileList -dead_strip -miphoneos-
version-min=5.0 -lz -framework QuartzCore -framework CoreGraphics -framework 
SystemConfiguration -lxml2.2.7.3 -framework Security -framework CoreMedia -framework Accounts 
-framework CoreFoundation -framework AudioToolbox -framework AVFoundation -framework Twitter -
framework MediaPlayer -framework UIKit -framework Foundation -o 
/Users/Sooper/Library/Developer/Xcode/DerivedData/TestApp-
ejfsezvwxyxhqpanwwrcmsbkslxi/Build/Intermediates/TestApp.build/Debug-
iphoneos/TestApp.build/Objects-normal/armv7/TestApp

在此之下:

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

如果我删除类的实例,错误就会消失并且应用程序会运行。我完全糊涂了。为什么它会单独工作而不是在另一个项目中工作?

将不胜感激一些指导。

4

1 回答 1

20

确保将 ArtworkScrollerViewController.m 添加到您正在构建的目标中

于 2012-04-19T20:20:29.287 回答