2

リンカーエラーがたくさん発生しています。必要なすべてのライブラリをmacports経由でインストールするようにしました。すべてのインクルードエラーを整理しましたが、リンカーエラーがたくさん残っています。

HEADER_SEARCH_PATHS = / opt / local / include / usr / include / opt / local / include / json LIBRARY_SEARCH_PATHS = / opt / local / lib / usr / local / lib

Build target PianoLounge

Ld /Users/jordan/Library/Developer/Xcode/DerivedData/PianoLounge-ajgojrzszrergafgvyuliphwxcpg/Build/Products/Debug/PianoLounge.app/Contents/MacOS/PianoLounge normal x86_64
    cd /Users/jordan/Projects/Cocoa/PianoLounge
    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/jordan/Library/Developer/Xcode/DerivedData/PianoLounge-ajgojrzszrergafgvyuliphwxcpg/Build/Products/Debug -L/opt/local/lib -L/usr/local/lib -F/Users/jordan/Library/Developer/Xcode/DerivedData/PianoLounge-ajgojrzszrergafgvyuliphwxcpg/Build/Products/Debug -filelist /Users/jordan/Library/Developer/Xcode/DerivedData/PianoLounge-ajgojrzszrergafgvyuliphwxcpg/Build/Intermediates/PianoLounge.build/Debug/PianoLounge.build/Objects-normal/x86_64/PianoLounge.LinkFileList -mmacosx-version-min=10.8 -fobjc-arc -fobjc-link-runtime -framework Cocoa -o /Users/jordan/Library/Developer/Xcode/DerivedData/PianoLounge-ajgojrzszrergafgvyuliphwxcpg/Build/Products/Debug/PianoLounge.app/Contents/MacOS/PianoLounge

Undefined symbols for architecture x86_64:
  "_gcry_cipher_close", referenced from:
      _PianoDestroyPartner in piano.o
  "_gcry_cipher_decrypt", referenced from:
      _PianoDecryptString in crypt.o
  "_gcry_cipher_encrypt", referenced from:
      _PianoEncryptString in crypt.o
  "_gcry_cipher_open", referenced from:
      _PianoInit in piano.o
  "_gcry_cipher_setkey", referenced from:
      _PianoInit in piano.o
  "_gnutls_bye", referenced from:
      _WaitressFetchCall in waitress.o
  "_gnutls_certificate_allocate_credentials", referenced from:
      _WaitressFetchCall in waitress.o
  "_gnutls_certificate_free_credentials", referenced from:
      _WaitressFetchCall in waitress.o
  "_gnutls_certificate_get_peers", referenced from:
      _WaitressTlsVerify in waitress.o
  "_gnutls_certificate_type_get", referenced from:
      _WaitressTlsVerify in waitress.o
  "_gnutls_credentials_set", referenced from:
      _WaitressFetchCall in waitress.o
  "_gnutls_deinit", referenced from:
      _WaitressFetchCall in waitress.o
  "_gnutls_handshake", referenced from:
      _WaitressConnect in waitress.o
  "_gnutls_init", referenced from:
      _WaitressFetchCall in waitress.o
  "_gnutls_record_recv", referenced from:
      _WaitressGnutlsRead in waitress.o
  "_gnutls_record_send", referenced from:
      _WaitressGnutlsWrite in waitress.o
  "_gnutls_set_default_priority", referenced from:
      _WaitressFetchCall in waitress.o
  "_gnutls_transport_set_ptr", referenced from:
      _WaitressFetchCall in waitress.o
  "_gnutls_transport_set_pull_function", referenced from:
      _WaitressFetchCall in waitress.o
  "_gnutls_transport_set_push_function", referenced from:
      _WaitressFetchCall in waitress.o
  "_gnutls_x509_crt_deinit", referenced from:
      _WaitressTlsVerify in waitress.o
  "_gnutls_x509_crt_get_fingerprint", referenced from:
      _WaitressTlsVerify in waitress.o
  "_gnutls_x509_crt_import", referenced from:
      _WaitressTlsVerify in waitress.o
  "_gnutls_x509_crt_init", referenced from:
      _WaitressTlsVerify in waitress.o
  "_json_object_array_add", referenced from:
      _PianoRequest in request.o
  "_json_object_array_get_idx", referenced from:
      _PianoResponse in response.o
  "_json_object_array_length", referenced from:
      _PianoResponse in response.o
  "_json_object_get_boolean", referenced from:
      _PianoResponse in response.o
      _PianoJsonParseStation in response.o
  "_json_object_get_double", referenced from:
      _PianoResponse in response.o
  "_json_object_get_int", referenced from:
      _PianoResponse in response.o
  "_json_object_get_object", referenced from:
      _PianoResponse in response.o
  "_json_object_get_string", referenced from:
      _PianoResponse in response.o
      _PianoJsonStrdup in response.o
  "_json_object_new_array", referenced from:
      _PianoRequest in request.o
  "_json_object_new_boolean", referenced from:
      _PianoRequest in request.o
  "_json_object_new_int", referenced from:
      _PianoRequest in request.o
  "_json_object_new_object", referenced from:
      _PianoRequest in request.o
  "_json_object_new_string", referenced from:
      _PianoRequest in request.o
  "_json_object_object_add", referenced from:
      _PianoRequest in request.o
  "_json_object_object_get", referenced from:
      _PianoResponse in response.o
      _PianoJsonStrdup in response.o
      _PianoJsonParseStation in response.o
  "_json_object_put", referenced from:
      _PianoRequest in request.o
      _PianoResponse in response.o
  "_json_object_to_json_string", referenced from:
      _PianoRequest in request.o
  "_json_tokener_parse", referenced from:
      _PianoResponse in response.o
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
4

1 に答える 1

3

リンクに必要なライブラリgnutls、gcrypt、jsonが不足しているようです。Xcodeにリンクするライブラリを指定しない限り、何もわかりません。次のようになります。

-lgnutls -lgcrypt -ljson

(これは一例です。具体的にどのライブラリが必要かわかりません)。

Xcodeプロジェクトでリンクする追加のライブラリとしてそれらを追加することをお勧めします。

于 2012-10-04T00:11:13.543 に答える