【问题标题】:CLion Cmake mysql.h missunderstandingCLion Cmake mysql.h 误解
【发布时间】:2018-03-27 07:49:46
【问题描述】:

我是 C++ 开发的新手。 我想尝试使用 MySQL 数据库,但不明白它有什么问题。这是我的代码。

    #include <iostream>
    #include <mysql.h>
    MYSQL *connection, mysql;
    MYSQL_RES *result;
    MYSQL_ROW row;
    int query_state;

    int main() {
        mysql_init(&mysql);
        //connection = mysql_real_connect(&mysql,"host","user",
        //                   "password","database",port,"unix_socket",clientflag);
        connection = mysql_real_connect(&mysql,"localhost",
                                        "root","qwer","cpp_data",3306,0,0);
        if (connection == NULL) {
            std::cout << mysql_error(&amp;mysql) << std::endl;
            return 1;
        }

        query_state = mysql_query(connection, "select user_count()");
        if (query_state !=0) {
            std::cout << mysql_error(connection) << std::endl;
            return 1;
        }

        result = mysql_store_result(connection);
        while (( row = mysql_fetch_row(result)) != NULL) {
            std::cout << "Number of active users : " << row[0] << std::endl;
        }

        mysql_free_result(result);
        mysql_close(connection);

        return 0;
    }

当我运行我的程序时,它显示 C:\Users\user\CLionProjects\my-cpp-training\main.cpp:9:19: fatal error: mysql.h: No such file or directory强>

我将提供我的 CMakeList,还有一些我通过学习编写的资源。这里是:

cmake_minimum_required(VERSION 3.8)
project(my_cpp_training)

set(CMAKE_CXX_STANDARD 11)

LINK_DIRECTORIES(D:/Downloads/mysql-connector-c++-noinstall-1.1.9-winx64/include)
include_directories ("D:/Downloads/mysql-connector-c++-noinstall-1.1.9-winx64/include")

set(SOURCE_FILES main.cpp util/ContrainerUtils.cpp classes/Examples.cpp classes/Person.cpp classes/Person.h pointers/PointersArithmatic.cpp classes/Object.cpp classes/Object.h classes/Animal.cpp classes/Animal.h classes/Vector.cpp classes/Vector.h bussiness-layer/user.cpp util/Out.cpp util/Out.h classes/Container.cpp classes/Container.h classes/Vector_container.cpp classes/Vector_container.h util/PropertiesReader.cpp util/PropertiesReader.h util/Settings.cpp util/Settings.h)
add_executable(my_cpp_training ${SOURCE_FILES})
target_link_libraries (my_cpp_training mysqlcppconn)

在这里,我将显示我已通过我在 CMakeList.txt 中使用的路径在我的计算机上下载并提取了该库

path to mysql c++ library

请帮助我,而不仅仅是写你的想法,我已经在谷歌上搜索了半天,并且阅读了很多东西。就写在这里,好像你不正确,或者你忘记了这个代码或行。

【问题讨论】:

  • mysql.h 实际上在您指定的路径中吗?
  • 是的,你可以点击链接“mysql c++ 库的路径”,你会看到这个图片
  • 正确。所以它实际上不在磁盘上。您下载的是 mysqlcppconn c++ 连接器,而不是 mysql C 连接器。
  • 非常感谢,我刚刚明白应该是#include "mysql_connection.h"

标签: c++ mysql c++11 cmake clion


【解决方案1】:

理查德·霍奇斯是对的。这是他的评论:

对。所以它实际上不在磁盘上。您下载的是 mysqlcppconn c++ 连接器,而不是 mysql C 连接器。

所以以我的方式,我可以使用 mysql_connection.h 或下载正确的库。 非常感谢,理查德

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-06-06
    • 2019-04-28
    • 2023-03-29
    • 1970-01-01
    • 1970-01-01
    • 2015-08-02
    • 2022-12-10
    • 2023-01-27
    相关资源
    最近更新 更多