首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >MYSQL_INCLUDE_DIR未找到

MYSQL_INCLUDE_DIR未找到
EN

Stack Overflow用户
提问于 2020-05-25 04:43:11
回答 1查看 616关注 0票数 1

很抱歉成为这样一个新手,但是我正在从源代码构建一个mySQL驱动程序,它需要包含mysql.h,但是编译器会报告一个错误。FindMYSQL.cmake中的包含似乎没问题,所以我猜CMake缺少了它的CMake设置中最基本的指针。我试过几条路,但是没有运气--我真的不知道我想指出什么?我现在很难与c++达成协议,所以任何帮助都很感激。

代码语言:javascript
复制
    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行是致命错误消息,源在这里:

代码语言:javascript
复制
    # 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行

代码语言:javascript
复制
    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显示:

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-05-27 10:50:43

我能够通过安装MySQL服务器重新创建问题并修复它,后者添加了缺少的包含路径和环境参数。然而,要解决这个问题,具体而言:

  1. 从您定义的路径中删除“/mysql-8.0”。
  2. 使用以下-D选项调用CMake

cmake -DMYSQL_include_DIR=‘C:\Program\mysql\mysql服务器8.0\include’

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

  1. 您应该再次生成缓存..。

  1. 一旦完成缓存生成,您应该会看到"build“选项,该选项指示不缺少任何包含文件/路径。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61995937

复制
相关文章

相似问题

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