2

我在我的 Mac (Objective-C) 应用程序中使用 GCDAsyncSocket 类时遇到问题。这是我得到的错误:

Apple Mach-O Linker (Id) Error

Ld "/Users/matthewdahl/Library/Developer/Xcode/DerivedData/Server_Tester-fkkcdricfunsmwcdnerorqdtqetc/
  Build/Products/Debug/Server Tester.app/Contents/MacOS/Server Tester" normal x86_64
    cd "/Volumes/Data/Programming/ControlTouch/P12127/Server Tester"
    setenv MACOSX_DEPLOYMENT_TARGET 10.8

    /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang -arch
  x86_64 -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/
  MacOSX10.8.sdk -L/Users/matthewdahl/Library/Developer/Xcode/DerivedData/Server_Tester-
  fkkcdricfunsmwcdnerorqdtqetc/Build/Products/Debug -L/Applications/Xcode.app/Contents/Developer/
  Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.8.sdk/usr/lib/system -F/Users/matthewdahl/Library/
  Developer/Xcode/DerivedData/Server_Tester-fkkcdricfunsmwcdnerorqdtqetc/Build/Products/Debug -filelist 
  "/Users/matthewdahl/Library/Developer/Xcode/DerivedData/Server_Tester-fkkcdricfunsmwcdnerorqdtqetc/
  Build/Intermediates/Server Tester.build/Debug/Server Tester.build/Objects-normal/x86_64/Server 
  Tester.LinkFileList" -mmacosx-version-min=10.8 -fobjc-arc -fobjc-link-runtime -framework Security -
  framework Cocoa -o "/Users/matthewdahl/Library/Developer/Xcode/DerivedData/Server_Tester-
  fkkcdricfunsmwcdnerorqdtqetc/Build/Products/Debug/Server Tester.app/Contents/MacOS/Server Tester"

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

我真的很难理解这里的问题。我尝试删除并重新添加 GCDAsyncSocket.h 和 .m 文件。我已经验证所有导入都是导入 .h 文件而不是 .m 文件。我已经清理了项目,甚至尝试从头开始制作一个新项目。对可能导致这种情况的任何洞察力都会很棒。(注意:我刚刚升级到山狮 - 不确定它是否是罪魁祸首)

4

1 回答 1

5

转到项目 > 目标 > 构建阶段 > 编译源。您的所有 .m 文件都在列表中吗?

于 2012-07-28T02:01:12.640 回答