链接到libmariadb时出现奇怪的错误

时间:2013-09-06 12:29:45

标签: mysql macos cocoa mariadb libmysql

我目前正在开发一个链接到MariaDB C连接器的Objective-C库。不过,我相信图书馆存在问题。

每次执行代码时,我都会在控制台上出现非常奇怪的错误。我的库的-(id)init方法调用mysql_init(NULL)来初始化库,但是当我从-(id)init返回时,我在控制台中收到以下错误:

Object 0x10643df70 of class XXX autoreleased with no pool in place - just leaking - break on objc_autoreleaseNoPool() to debug

事实是,没有执行多线程代码,如果我在没有调用- (id)init的情况下运行相同的mysql_init(NULL),则错误消失。我相信libmariadb库会导致出现这些错误。我不明白为什么。

我是否需要使用任何特殊的命令行开关来构建它?我是在说正确的方法吗?我显然使用MySQL在线文档作为指南。

3 个答案:

答案 0 :(得分:0)

确保在有新线程时随时添加此内容:

@autoreleasepool {

//enter code here
}

答案 1 :(得分:0)

您是否尝试过从启动板进行的最新修订? 还尝试使用-DUNDEF_THREADS_HACK和构建libmariadb CMAKE_USE_PTHREADS:BOOL = OFF)

答案 2 :(得分:0)

我有一段时间忙于其他事情。我已经将MariaDB更新到最新版本,据我所知,它运行正常。