clion环境配置:
windows下:
1. 在CMakeLists.txt里面添加 mysql的include目录和lib目录
cmake_minimum_required(VERSION 3.15)
project(pro1)
include_directories(D:\\CodeEnv\\mysql\\mysql-5.6.42\\include) //指定头文件目录
link_directories(D:\\CodeEnv\\mysql\\mysql-5.6.42\\lib) //指定链接库目录
link_libraries(libmysql.dll) //指定链接库下具体哪个库set(CMAKE_CXX_STANDARD 11)
add_executable(pro1 main.cpp mysqlTest.cpp mysqlTest.h)
target_link_libraries(pro1 libmysql.dll) //自己添加
可以添加本地安装的mysql的对应路径来引入头文件
也可以在 https://dev.mysql.com/downloads/connector/cpp/ 下载C++ connector,解压后将里面的include和lib目录添加到上面的cmakelists.txt
【lib目录下的libmysql.lib文件很小,而libmysql.dll文件很大,可能lib文件里面只有相应函数的声明,而实际的实现在dll文件里,因此上面要指定动态库dll文件】
配置不对会出现的错误:
(1)运行时找不到动态库
返回错误:-1073741515 (0xC0000135)
解决办法:①windows下默认去system32路径下去找动态库,可将 libmysql.lib和libmysql.dll放到该目录下去(实测只需要dll文件)
②运行时指定环境变量为mysql的lib目录:
(2)运行时错误
返回:-1073741819 (0xC0000005)
原因:指定链接库时没写成 libmysql.dll ,只写了 libmysql,具体原因未知
2. 例子
file.cpp
#include //这个不加,编译不通过
#include "mysql.h"
voidTestMysql()
{
MYSQL*my;//mysql_library_init(0,NULL,NULL);//不加没问题
my=mysql_init(NULL);char ip[]="127.0.0.1";char user[]="root";char pass[]="123";char database[]="testx";int port = 3306;if(mysql_real_connect(my,ip,user,pass,database,port,NULL,0)) {
cout<
}else{
cout<
}
MYSQL_RES*result;
MYSQL_ROW row;intnum,i;if((mysql_query(my,"select * from person")) == 0) {
cout<
}
result=mysql_store_result(my);
num=mysql_num_fields(result);while(row=mysql_fetch_row(result)) {for(i=0;i
cout<
}
cout<
}
mysql_free_result(result);
mysql_close(my);
}
linux环境下:
----------------------------------------------------------------------
vs
1.