MYSQL_INCLUDE_DIR 未找到

MYSQL_INCLUDE_DIR not found

抱歉我是个新手,但我正在从源代码构建一个 mySQL 驱动程序,它需要包含 mysql.h,但编译器报错。 FindMYSQL.cmake 中的 include 看起来不错,所以我猜测 CMake 缺少其 CMake 设置中的最基本指针。我已经尝试了 json 中的几条路径,但没有成功——我真的不知道我要指向什么?我目前正在努力适应 C++,因此感谢任何帮助。

    CMake Error at cmake/FindMySQL.cmake:548 (message):
      Could not find "mysql.h" from searching "/usr/include/mysql
      /usr/local/include/mysql /opt/mysql/mysql/include
      /opt/mysql/mysql/include/mysql /usr/local/mysql/include
      /usr/local/mysql/include/mysql C:\Program Files (x86)/MySQL/*/include
      C:/MySQL/*/include"       C:\Users\Studio\Source\Repos\mysql-connector-odbc\cmake/FindMySQL.cmake 548 

第 548 行是致命错误消息,来源:

    # No specific paths, try some common install paths
    find_path(MYSQL_INCLUDE_DIR mysql.h ${_include_fallback_path})

    if(NOT MYSQL_INCLUDE_DIR)
      message(FATAL_ERROR "Could not find \"mysql.h\" from searching "
                        "\"${_pp_include_fallback_path}\"")
    endif()

如果我偷看 MYSQL_INCLUDE_DIR: FindMySQL.cmake

中的第 512 行
    set(MYSQL_INCLUDE_DIR "${MYSQL_DIR}/include/mysql-8.0")
      if(NOT EXISTS "${MYSQL_INCLUDE_DIR}/include/mysql-8.0/mysql.h")
         message(FATAL_ERROR "MYSQL_DIR given, but no \"mysql.h\" "
                        "in \"${MYSQL_INCLUDE_DIR}\"")
      endif()

CMakeSettings.json 显示:

我能够重新创建问题并通过安装 MySQL 服务器修复它,它添加了缺少的包含路径和环境参数。但是,要专门解决此问题:

  1. 从您定义的路径中删除 “/mysql-8.0“

  2. 使用以下 -D 选项调用 CMake

    cmake -DMYSQL_INCLUDE_DIR=‘C:\Program Files\MySql\mysql服务器8.0\include‘

如果需要,-D 命令行选项定义一个具有给定值的 CMake 常量。

  1. 然后您应该再次生成缓存...

  2. 缓存生成完成后,您应该会看到 "build all" 选项,表明没有任何丢失的包含文件/路径。