繁体   English   中英

mysql.h: 没有那个文件或目录

[英]mysql.h : No such file or directory

我在 Windows 环境中使用代码块。这是我连接到 mysql 数据库的 c 代码。

/* Simple C program that connects to MySQL Database server*/
    #include <mysql.h>
    #include <stdio.h>

    main() {
      MYSQL *conn;
      MYSQL_RES *res;
      MYSQL_ROW row;

      char *server = "localhost";
      char *user = "root";
      //set the password for mysql server here
      char *password = "*********"; /* set me first */
      char *database = "Real_flights";

      conn = mysql_init(NULL);

      /* Connect to database */
      if (!mysql_real_connect(conn, server,
            user, password, database, 0, NULL, 0)) {
          fprintf(stderr, "%s\n", mysql_error(conn));
          exit(1);
      }

      /* send SQL query */
      if (mysql_query(conn, "show tables")) {
          fprintf(stderr, "%s\n", mysql_error(conn));
          exit(1);
      }

      res = mysql_use_result(conn);

      /* output table name */
      printf("MySQL Tables in mysql database:\n");
      while ((row = mysql_fetch_row(res)) != NULL)
          printf("%s \n", row[0]);

      /* close connection */
      mysql_free_result(res);
      mysql_close(conn);
    }

我有一个错误弹出说

mysql.h : No such file or directory

当在代码块中使用 c++ 时,包括 mysql.h 没有问题。但是当我使用 c 执行它时,会弹出上述错误。

要在 windows 机器上使用 mysql,必须下载适用于 windows 的 mysql 连接器 安装后保留默认值,可以在以下位置找到头文件和 lib 文件。

C:\程序文件\MySQL\连接器 C++ 8.0

C:\Program Files\MySQL\MySQL 服务器 8.0

通常您必须为您检测正确的标头和库并正确链接它们。 请参考本教程

mysql的解决方案

安装mysql服务器,然后进入mysql服务器的include目录,然后将文件夹mysql和头文件复制到文件夹中,例如

C:\Program Files (x86)\Microsoft Visual Studio\2019\BuildTools\VC\Tools\MSVC\14.28.29910\include

然后在 setup_windows.py 中注释到 mysqlclent 目录行client = 'mariadbclient'并取消注释上一行,然后将存储在 mysql server lib 目录中的文件 mysqlclient.lib 复制到

C:\Program Files (x86)\Windows Kits\10\Lib\10.0.16299.0\ucrt\x64.

这个解决方案对我有用。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM