本文适用于MacOS操作系统12以上版本
如果你有类似任务处理,本文可能帮到你。
贴一下我的macOS版本信息:
编辑器使用CLion:
主题用的这款,感兴趣可以下载:
前置条件(不介绍具体做法)
1.下载g++ 编译工具,并能在终端显示其版本信息:
2.安装mysql,并能在终端进入mysql环境:
3.CLion编辑器,找到对应自己的mac版本下载安装即可: www.jetbrains.com/clion/
开始
1.新建C++项目,作用是测试mysql连接,因此可以命名为:MySQL,(可任意命名)。 展开项目目录:
其中在CMakeLists.txt中需要进行设置,
其中框起来的是创建项目时自动生成的,此时需要添加mysql的头文件路径,以便在main.cpp中使用,如果配置好mysql环境,只需在终端输入where mysql 便可查看具体路径。
还需要链接mysql动态库,在安装目录的lib文件夹下,找到该文件
使用cmake语法:target_link_libraries(项目名 动态库名称)进行链接。 还要添加如下三个路径:
至此项目CMakeLists.txt文件配置完成。
2.在系统偏好设置中对CMake进行配置:
生成器使用Ninja,
应用并确定
3.添加mysql数据源:
用户名填写root,密码即为安装时设置的密码:
创建数据表用于测试连接:
可在内置控制台执行简单查询操作:
4.编写主函数用于测试是否正常连接:
#include <iostream>
#include <mysql.h>
#include <string>
using namespace std;
int main() {
MYSQL mysql;
MYSQL_RES *res;
MYSQL_ROW row;
string query;
string result;
int flag, t;
mysql_init (&mysql);
if (!mysql_real_connect(&mysql, "localhost", "root", "Japenus0621", "Database", 3306, NULL, 0))
{
cout<<"连接失败!"<<endl;
return 0;
}else{
cout<<"连接成功!"<<endl;
query = "DESCRIBE Student;";
flag = mysql_real_query(&mysql, query.c_str(), query.length());
if (flag) {
cout<<"查询失败!"<<endl;
return 0;
} else {
cout<<"查询成功!"<<endl;
}
res = mysql_store_result(&mysql);
unsigned int num_columns = mysql_field_count(&mysql);
unsigned int num_rows = res->row_count;
cout<<"列数:"<<num_columns<<endl;
cout<<"行数:"<<num_rows<<endl;
row = mysql_fetch_row(res);
while (row) {
for (t = 0; t < num_columns; t++) {
cout << row[t] << endl;
}
row = mysql_fetch_row(res);
}
}
mysql_free_result(res);
mysql_close(&mysql);
return 0;
}
主函数代码可自定义,主要测试其用途。
5.执行构建整个项目:
如果失败,原因主要有两个方面,一是由于CMakeLists.txt路径配置错误,项目由CMake构建,因此该文件起决定性作用。另一原因是由于Cmake设置选项问题,此时需要更改:
标注的是可执行的选项。