我正在尝试在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)我将该本地目录的路径添加到我的项目的Build Settings-> Search Paths-> User Header Search Paths并将“Always Search User Paths”设置为“Yes”
4)我将libmysql.client添加到Build Phases-> Copy Files
5)我将libmysql.client添加到Copy Bundle Resources
6)我在我的代码中编写了一个测试函数:
#import "mysql.h"
-(NSNumber*)testFunction {
mysql_library_init(0, NULL, NULL);
mysql_library_end();
return [NSNumber numberWithInt:8];
}
项目编译(目标:我的Mac 64位),但我从链接器获得两个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 Admin Tools”“ -L / Users / chapka / Documents / Developer / Single Table / Single Table Admin Tools / Single Table Admin Tools“” - L / Users / chapka / Documents / Developer / Single Table / 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/Objec ts-normal / x86_64 /单表管理工具.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.o中的[TSTDataSource gameCount] “_mysql_server_init”,引自: - TSTDataSource.o中的[TSTDataSource gameCount] ld:找不到架构x86_64的符号 clang:错误:链接器命令失败,退出代码为1(使用-v查看调用)
我已经四处寻找其他类似的问题,但它们似乎都是通过上面的步骤4和/或5来解决的。我发现的唯一其他建议是使用install_name_tool,但我不确定我需要更改什么或者需要将其更改为什么。如果这是可能的问题,任何提示都将非常受欢迎。