我正在创建一个使用mysql api的基本C程序。我在windows上,使用mingw作为编译器,使用eclipse cdt作为IDE。我已经将包含路径添加到mysql include文件中,并将lib路径添加到mysqlclient.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有什么区别?
干杯。
发布于 2011-10-06 07:03:57
我担心在MinGW发行版中没有crtdbg.h。我认为在Windows上,这个头文件是由微软的编译器提供的。我相信你也可以使用Cygwin而不是Micrsoft的编译器,因为在Windows上编译MySql只能用Cygwin或微软的编译器(不支持MinGW),所以理论上Cygwin应该能够编译你的程序。
你也可以通过安装Windows SDK免费获得微软的编译器。
如果没有人能帮我解决这个问题,谁能告诉我使用mysqlclient.lib和libmysql.lib/libmysql.dll有什么不同?
mysqlclient.lib应该是静态库,libmysql.lib/libmysql.dll是动态库。
注意:如果你想在微软的编译器中使用静态库,那么它必须与你的程序使用相同的编译器(以及相同的版本)进行编译。你可以找到更多关于在windows here上编译的信息。请看最后一节在Microsoft Windows上编译MySQL客户端
更新:使用微软的编译器,你可以使用以下命令编译你的代码:
cl mysource.c /IC:\Path\To\MySql\Include\Directory /link /LIBPATH:C:\Path\To\MySql\Lib\Directory /DEFAULTLIB:libmysqlhttps://stackoverflow.com/questions/7286935
复制相似问题