首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >MySQL C API编译错误,找不到crtdbg.h

MySQL C API编译错误,找不到crtdbg.h
EN

Stack Overflow用户
提问于 2011-09-03 01:10:06
回答 1查看 2.7K关注 0票数 1

我正在创建一个使用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

下面是我的代码:

代码语言:javascript
复制
#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有什么区别?

干杯。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 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客户端

更新:使用微软的编译器,你可以使用以下命令编译你的代码:

代码语言:javascript
复制
cl mysource.c /IC:\Path\To\MySql\Include\Directory /link /LIBPATH:C:\Path\To\MySql\Lib\Directory /DEFAULTLIB:libmysql
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7286935

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档