2017-10-15 20 views
0

Je suis nouveau sur le développement C++. Je veux essayer d'utiliser la base de données MySQL, mais je ne peux pas comprendre ce qui ne va pas. Voici mon code.CLion Cmake mysql.h malentendu

#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; 
    } 

Quand je lance mon programm il dit C: \ Users \ user \ CLionProjects \ my-cpp-training \ main.cpp: 9: 19: erreur fatale: mysql.h: Aucun fichier ou répertoire

Je vais fournir ma CMakeList, il y a d'autres sources que j'ai écrites en apprenant. Ici, il est:

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) 

Ici, je vais montrer que j'ai téléchargé cette bibliothèque et extrait sur mon ordinateur par chemin que je l'aide à CMakeList.txt

path to mysql c++ library

S'il vous plaît aidez-moi, et pas seulement Comme je vous écris des pensées, j'ai déjà googlé une demi-journée et lu beaucoup de choses. Il suffit d'écrire ici comme si vous n'étiez pas correct, ou vous avez oublié ce code ou cette ligne.

+1

est mysql.h réellement dans le chemin que vous spécifiez? –

+0

yeap, vous pouvez cliquer sur le lien "chemin d'accès à mysql C++ bibliothèque" et vous verrez l'image de ce droit – newbie2017

+0

. donc ce n'est pas réellement sur le disque. Vous avez téléchargé le connecteur C++ mysqlcppconn, pas le connecteur C mysql. –

Répondre

0

Richard Hodges avait raison. Voici son commentaire:

droite. donc ce n'est pas réellement sur le disque. Vous avez téléchargé le connecteur C++ mysqlcppconn, pas le connecteur C mysql. Donc, à ma manière, je peux utiliser mysql_connection.h ou télécharger la bonne bibliothèque. Merci beaucoup, Richard