2

Mac OS X のデスクトップ アプリで、サードパーティの動的ライブラリ (libmysql) で定義された関数を使用しようとしています。Mac OS X v. 10.8.2 で XCode 4.5.1 を使用しています。

これまでに行ったことは次のとおりです。

1) http://dev.mysql.com/downloads/connector/c/から Mac OS X 10.5 x86 64 ビット C コネクタ ファイルをダウンロードしました(これは利用可能な最新バージョンです)。

2) ファイルをディスク イメージからローカル ディレクトリにコピーしました。

3)そのローカルディレクトリへのパスをプロジェクトのビルド設定->検索パス->ユーザーヘッダー検索パスに追加し、「常にユーザーパスを検索する」を「はい」に設定しました

4) libmysql.client を Build Phases->Copy Files に追加しました

5) バンドル リソースをコピーするために libmysql.client を追加しました

6) コードにテスト関数を書きました:

#import "mysql.h"
-(NSNumber*)testFunction {

mysql_library_init(0, NULL, NULL);
mysql_library_end();

return [NSNumber numberWithInt:8];
}

プロジェクトはコンパイルされますが (ターゲット: My Mac 64 ビット)、リンカーからの 2 つの mysql 関数で「アーキテクチャ x86_64 の未定義シンボル」エラーが発生します。完全なエラー メッセージは次のとおりです。

Ld "/Users/chapka/Library/Developer/Xcode/DerivedData/The_Single_Table_Admin_Tools-ctdgurwiktybjqcnlfuufetgimfy/Build/Products/Debug/The Single Table Admin Tools.app/Contents/MacOS/The Single Table Admin Tools" normal x86_64 cd "/Users/ chapka/Documents/Developer/The Single Table/The Single Table Admin Tools" 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/chapka/Library/Developer/Xcode/DerivedData/The_Single_Table_Admin_Tools-ctdgurwiktybjqcnlfuufetgimfy/Build/Products/Debug "-L/ Users/chapka/Documents/Developer/The Single Table/The Single Table 管理ツール""-L/Users/chapka/Documents/Developer/The Single Table/The Single Table Admin Tools/The Single Table Admin Tools" "-L/Users/chapka/Documents/Developer/The Single Table/The Single Table Admin Tools/. ./../Libraries/mysql" -F/Users/chapka/Library/Developer/Xcode/DerivedData/The_Single_Table_Admin_Tools-ctdgurwiktybjqcnlfuufetgimfy/Build/Products/Debug -filelist "/Users/chapka/Library/Developer/Xcode/DerivedData/The_Single_Table_Admin_Tools -ctdgurwiktybjqcnlfuufetgimfy/Build/Intermediates/The Single Table Admin Tools.build/Debug/The Single Table Admin Tools.build/Objects-normal/x86_64/The Single Table Admin Tools.LinkFileList" -mmacosx-version-min=10.8 -fobjc- arc -fobjc-link-runtime -framework Cocoa -o "/Users/chapka/Library/Developer/Xcode/DerivedData/The_Single_Table_Admin_Tools-ctdgurwiktybjqcnlfuufetgimfy/Build/Products/Debug/The Single Table Admin Tools.app/Contents/MacOS/The Single Table Admin Tools"

アーキテクチャ x86_64 の未定義シンボル: "_mysql_server_end"、参照元: -[TSTDataSource gameCount] in TSTDataSource.o "_mysql_server_init"、参照元: -[TSTDataSource gameCount] in TSTDataSource.o ld: アーキテクチャ x86_64 のシンボルが見つかりません。 : エラー: リンカー コマンドが終了コード 1 で失敗しました (呼び出しを確認するには -v を使用してください)

このような他の質問を探してみましたが、上記の手順 4 および/または 5 によってすべて解決されるようです。私が見つけた他の唯一の提案は install_name_tool を使用することでしたが、正確に何を変更する必要があるか、または何に変更する必要があるかはわかりません。これが問題である可能性が高い場合、ヒントは大歓迎です。

4

0 に答える 0