我有这个非常短的程序。出于某种原因,mysql_init 总是为我返回 null。根据文档,如果内存不足,就会发生这种情况。怎么会这样?就是这几行代码。
#include "mysql.h"
int main()
{
MYSQL * mysql;
mysql = mysql_init(0);
// here mysql is 0
return 0;
}
我使用 Visual Studio 2015 和来自 mariadb-10.1.8-win32.zip 的库。
编辑:我让它工作了一点。我在 Visual Studio 中使用调试设置进行编译并链接到 libmysqld.lib。我还将 libmysqld.dll 复制到工作目录中。这导致了我上面描述的效果。我试图链接到 libmysql.lib 并将 libmysql.dll 复制到工作目录并且有效。我不打算调试 mysql 代码,所以我可以忍受。尽管为什么调试库不适用于相同的代码,但仍然很奇怪。