MySQL的C API编译错误,crtdbg.h未找到(MySQL C API compilatio

2019-10-16 14:01发布

我创建一个使用MySQL的API一个基本的C程序。 我在Windows下使用的MinGW作为我的编译器和Eclipse CDT的为我的IDE。 我已经加入了包括路径到MySQL包括文件,并在文件mysqlclient.lib的lib路径。 不过,我得到这个错误:

D:\Programs\MinGW\include\mysql/my_dbug.h:108:20: fatal error: crtdbg.h: No such file or directory

这里是我的代码:

#include <stdio.h>
#include <my_global.h>
#include <mysql.h>

int main(int argc, char *argv[]) {
    printf("Hello World\n");
    return 0;
}

如果没有人能够帮助我这个问题,可能有人告诉我有什么区别使用mysqlclient.lib和libmysql.lib / libmysql.dll拷贝之间?

干杯。

Answer 1:

恐怕有在MinGW的分布没有crtdbg.h。 我认为,在Windows上,这头带有微软的编译器。 我相信,你也可以使用,而不是项目建立在微软的编译器Cygwin的,因为在Windows上编译MySQL只能使用Cygwin或微软的编译器(不支持MinGW的),所以理论上的Cygwin应该能够编译程序。

您还可以得到微软的编译器,通过免费安装Windows SDK。

如果没有人能够帮助我这个问题,可能有人告诉我有什么区别使用mysqlclient.lib和libmysql.lib / libmysql.dll拷贝之间?

mysqlclient.lib应该是静态库和libmysql.lib / libmysql.dll在动态库。

注意:如果你想使用微软的编译器,那么它必须具有相同的编译器(和相同的版本太)编译静态库为你的程序。 你可以找到关于编制有关窗口的详细信息在这里 。 看看最后一节在Microsoft Windows编译MySQL客户端

更新 :使用Microsoft的编译器可以使用下面的命令编译代码你:

cl mysource.c /IC:\Path\To\MySql\Include\Directory /link /LIBPATH:C:\Path\To\MySql\Lib\Directory /DEFAULTLIB:libmysql


文章来源: MySQL C API compilation error, crtdbg.h not found