Ubuntu上使用c++连接mysql数据库的g++与cmake编译方法

1. 安装依赖 sudo apt install mysql-server mysql-client libmysqlclient-dev

2. 建立测试文件test.cpp

/* test.cpp */
#include <mysql.h>
#include <iostream>
int main() {
    MYSQL *conn;
    MYSQL_RES *res;
    MYSQL_ROW row;

    const char *server = "localhost";
    const char *user = "root";
    const char *password = "";         /* 此处改成你的密码 */
    const char *database = "mysql";    /* 数据库名字,比如mysql*/

    conn = mysql_init(NULL);

    /* 连接数据库 */
    if (!mysql_real_connect(conn, server, user, password, database, 0, NULL, 0)) {
        cout << mysql_error(conn);
        return -1;
    }

    /* 查询语句 */
    if (mysql_query(conn, "show tables")) {
        cout << mysql_error(conn));
        return -2;
    }

    res = mysql_use_result(conn);

    /* 打印查询结果 */
    while ((row = mysql_fetch_row(res)) != NULL) printf("%s \n", row[0]);

    /* 断开连接 */
    mysql_free_result(res);
    mysql_close(conn);
}

3. 使用g++编译,其中-I为包含目录,-L为包含库目录

g++ test.cpp -o test.app -I /usr/include/mysql -L/usr/lib/mysql -lmysqlclient

4. 使用cmake编译,建立CMakeLists.txt

/* CMakeLists.txt */
cmake_minimum_required(VERSION 3.8)
project("SQL_test")
include_directories(/usr/include/mysql)
add_executable(test.app "test.cpp")
target_link_libraries(test.app mysqlclient)

 


版权声明:本文为lbwanghr原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。