2017-10-15 19 views
0

私はC++開発の初心者です。 私はMySQLデータベースを使用しようとしますが、何が間違っているのか理解できません。ここに私のコードです。CLion Cmake mysql.h missunderstanding

#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と言う:19:9:致命的なエラー:mysql.h:そのようなファイルやディレクトリはありません、私の-CPP-トレーニングの\ main.cppに\ \ Users \ユーザーユーザー\ CLionProjectsを

私は私の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

を使用してパスで自分のコンピュータにダウンロードして解凍し、そのライブラリは私を助けて、とないてくださいしていることが表示されますあなたの考えを書くのと同じように、私はすでに半日もグーグルでグーグルで読んで、たくさんのものを読んでいます。あなたが正しくないか、このコードや行を忘れてしまったように、ここに書き込んでください。

+1

は実際に指定しているパスにmysql.hですか? –

+0

yeapでは、 "path to mysql C++ library"というリンクをクリックすると、この – newbie2017

+0

の画像が正しく表示されます。実際にはディスク上にはありません。 mysqlcppconn C++コネクタをダウンロードしました。mysql Cコネクタではありません。 –

答えて

0

リチャード・ホッジズが正しかった。ここに彼のコメントがあります:

右です。実際にはディスク上にはありません。 mysqlcppconn C++コネクタをダウンロードしました。mysql Cコネクタではありません。

私の方法では、私はmysql_connection.hを使用するか、正しいライブラリをダウンロードすることができます。 ありがとうリチャード

関連する問題