2017-10-15 5 views
0

저는 C++ 개발이 처음이에요. MySQL 데이터베이스를 사용하려고하지만 잘못된 점을 이해할 수 없습니다. 여기 내 코드가있다. 9 : 19 : 치명적인 오류 : mysql.h : \ 사용자 \ 사용자 \의 CLionProjects 내-CPP-훈련 \의 MAIN.CPP을 : \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; 
    } 

내가 내을 programm을 실행하면 그것은 C는 말한다 그러한 파일이 없습니다 또는 디렉토리

나는 내 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) 

난 그냥

path to mysql c++ library

이 제발 도와주세요 내가 CMakeList.txt에 사용하여 내가 해당 라이브러리 다운로드 및 경로에 의해 내 컴퓨터에 추출이 있음을 보여 것 당신 생각을 쓰는 것처럼, 나는 반갑습니다. 반갑습니다. 많은 것을 읽었습니다. 당신이 정확하지 않거나이 코드 나 줄을 잊어 버린 것처럼 여기에이 글을 적어주십시오.

+1

은 실제로 지정한 경로에 mysql.h가 있습니까? –

+0

yeap, "path to mysql C++ library"링크를 클릭하면 오른쪽의 – newbie2017

+0

그림을 볼 수 있습니다. 그래서 실제로 디스크에있는 것이 아닙니다. mysqlcppconn C++ 커넥터를 다운로드했지만 mysql C 커넥터는 다운로드하지 않았다. –

답변

0

Richard Hodges가 옳았습니다. 그의 코멘트는 다음과 같습니다.

오른쪽. 그래서 실제로 디스크에있는 것이 아닙니다. mysqlcppconn C++ 커넥터를 다운로드했지만 mysql C 커넥터는 다운로드하지 않았다.

그래서 내 방식에서는 mysql_connection.h를 사용하거나 올바른 라이브러리를 다운로드 할 수 있습니다. 고마워, Richard