Ubuntu下使用MySQL(C++,Cmake)

安装需要使用的库

sudo apt-get install libmysqlclient-dev

头文件

/usr/include/mysql # mysql的头文件在这里

引入头文件

#include"mysql.h"

如果找不到就

#include"mysql/mysql.h"

如果还找不到,并且用的cmake

include_directories(/usr/include/mysql)

链接库

cmake 中加入以下代码

target_link_libraries(AppMain -lmysqlclient)

主要注意-lmysqlclient

测试代码(这代码没试过,看看就行)

#include <cstdio>
#include <iostream>
#include <mysql/mysql.h>

using std::cout;
using std::endl;

int main(int argc, char const *argv[])
{
	MYSQL conn;
	mysql_init(&conn);
	int result;
	if (mysql_real_connect(&conn, "127.0.0.1", "root", "123456", "demo1", 3306, NULL, CLIENT_FOUND_ROWS))
	{
		printf("success");
		const char *sql_createDB = "create table `user` (id int primary key,val varchar(99));";

		result = mysql_query(&conn, sql_createDB);
		if (result)
		{
			cout<<"写入数据库失败"<<endl;
		}else{
			cout<<"写入数据库成功"<<endl;
		}
		mysql_close(&conn);
	}else{
		cout<<"error"<<endl;
	};

	return 0;
}

Cmake 代码

cmake_minimum_required(VERSION 1.0)
project(projectname)
include_directories(/usr/include/mysql)
add_executable(runapp srcfile.cpp)
target_link_libraries(runapp -lmysqlclient)

。。。

  1. 我以为有FindMySQL
  2. target_link_libraries 可以使用-lpthread``-lmysqlclient这种方式引入库