我创建一个使用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拷贝之间?
干杯。
恐怕有在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