gpt4 book ai didi

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

转载 作者:太空宇宙 更新时间:2023-11-04 02:16:18 24 4
gpt4 key购买 nike

我正在创建一个使用 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: 没有那个文件或目录

这是我的代码:

#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 上,此 header 随微软的编译器一起提供。我相信你也可以使用 Cygwin 而不是 Micrsoft 的编译器,因为在 Windows 上编译 MySql 只能使用 Cygwin 或微软的编译器(不支持 MinGW),所以理论上 Cygwin 应该能够编译你的程序。

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

If no one is able to help me out with that problem, could someone tell me what the difference is between using mysqlclient.lib and libmysql.lib/libmysql.dll?

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

注意:如果您想将静态库与 Microsoft 的编译器一起使用,则必须使用与您编程时相同的编译器(以及相同的版本)进行编译。您可以找到有关在 Windows 上编译的更多信息 here .查看最后一节在 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 编译错误,找不到 crtdbg.h,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7286935/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com