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ファイルを削除して再度追加してみました。すべてのインポートが.mファイルではなく.hファイルをインポートしていることを確認しました。私はプロジェクトをクリーンアップし、新しいプロジェクトを最初から作成しようとさえしました。これを引き起こしている可能性のあるものについての洞察は素晴らしいでしょう。(注:私はMountain Lionにアップグレードしただけです-それが原因である可能性があるかどうかはわかりません)

4

1 に答える 1

5

[プロジェクト]>[ターゲット]>[ビルドフェーズ]>[ソースのコンパイル]に移動します。すべての.mファイルがリストに含まれていますか?

于 2012-07-28T02:01:12.640 に答える