如何使用XCode 4.5在Mac OS X应用程序中链接第三方dylib? “未定义的符号”错误

时间:2012-10-13 04:39:46

标签: xcode4 libmysql

我正在尝试在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,但我不确定我需要更改什么或者需要将其更改为什么。如果这是可能的问题,任何提示都将非常受欢迎。

0 个答案:

没有答案