c – mysql_init()始终返回null

我有这个非常短的节目.出于某种原因,
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中的lib.

编辑:
我做了一点工作.我正在使用Visual Studio中的调试设置进行编译并链接到libmysqld.lib.我还在工作目录中复制libmysqld.dll.这导致我上面描述的效果.
我试图链接到libmysql.lib并将libmysql.dll复制到工作目录,这是有效的.
我不打算调试mysql代码,所以我可以忍受.虽然调试库不适用于相同的代码,但仍然很奇怪.

最佳答案 如果你链接libmysqld.lib,mysql_init将返回NULL或崩溃.我测试了mysql5.6 5.7 win10 vs2017.

正确的是libmysql.lib.

点赞