gpt4 book ai didi

mysql - 使用 ARC 从 Objective-C 项目访问 MySQL 服务器

转载 作者:行者123 更新时间:2023-11-29 22:11:39 24 4
gpt4 key购买 nike

我似乎找不到从 Objective-C Mac OS 项目(使用 ARC)访问 MySQL 服务器的解决方案。

我尝试使用MySQL framework that Sequel Pro provides ,但是每当我创建连接对象时,就会崩溃(EXC_i386_GPFLT)我的应用程序:

SPMySQLConnection *conn = [[SPMySQLConnection alloc] init];

我不知道这是否是框架中的错误,或者我是否需要做其他事情才能使用它。

我尝试了一些其他库(例如 MySqueakQl ),但它们都不兼容 ARC。

此外,我尝试直接链接到 libmysqlclient.a,但如果我将该库复制到我的项目中,则会收到代码签名错误;如果我只是链接到 /usr/local/mysql/lib/ 中的 .a,我会收到另一个错误: dyld: Library not returned: libmysqlclient.18.dylib ... 原因:找不到图像。我必须承认,我对使用第三方库(无论是 .a 还是 .dylib)的经验为零,并且可能没有做得正确。

我有点惊讶的是,似乎没有最新的(阅读:工作)解决方案。我知道,消费者应用程序宁愿使用核心数据,但我必须访问公司数据库服务器。

有没有人见过一个或多或少“开箱即用”的解决方案(库?)?我愿意为真正有效的东西付费。

关于如何在 Xcode 项目中使用 .a 库的良好教程也将帮助我了解 dylib 错误的来源,这也会非常有帮助。

最佳答案

问题已解决。我在包含库时可能犯了一些错误。

执行此操作的正确步骤:

  • libmysqlclient.a 库拖到项目窗口中
  • 确保将根据需要复制项目设置为,并将其添加到您的主要目标
  • 将包含 header 的文件夹(位于 /usr/local/mysql/include 下)拖到项目窗口中
  • 再次确保将根据需要复制项目设置为,并检查正确的目标。

然后:

#import "mysql.h"
- (BOOL) mySQLTest {
MYSQL connection;
mysql_init(&connection);
if(!mysql_real_connect(&connection,
[self.host UTF8String],
[self.user UTF8String],
[self.password UTF8String],
[self.database UTF8String],
self.port,
NULL,
0)) {
return NO;
}

// ... work with the DB

mysql_close(&connection);

return YES;
}

就像魅力一样。

我不知道为什么在我之前的尝试中我收到了有关 dylib 的错误;我从未使用过它(仅使用静态库)。

代码签名问题可能只是 Xcode 中的一个错误或一次性怪癖。

关于mysql - 使用 ARC 从 Objective-C 项目访问 MySQL 服务器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31587738/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com