1、下载并安装Connector/C
- 在 Mysql官网下载地址下载mac os x的Connector/C,本文下载的是 mysql-connector-c-6.1.2-osx10.7-x86_64.dmg
- 按向导安装Connector/C。默认,它安装在 /usr/local/mysql-connector-c-6.1.11-macos10.12-x86_64
mysql-connector-c 文件夹的路径会根据connector版本和系统版本自动生成,所以不是固定的,配置Xcode的时候请注意
2、配置xcode
- 打开Xcode,新建项目,选择Command Line Tool,点下一步,语言选择C语言。
- Build Setting 设置
- Other Linker Flags里输入 -L/usr/local/mysql-connector-c-6.1.2-osx10.7-x86_64/lib -lmysqlclient -lz -lm
- Header Search Paths 里输入
/usr/local/mysql-connector-c-6.1.2-osx10.7-x86_64/include- Library Search Paths 里输入
/usr/local/mysql-connector-c-6.1.2-osx10.7-x86_64/lib
3、复制以下代码到main.c文件,然后试运行项目
#include <mysql.h>
#include <stdio.h>
int main(int argc, const char * argv[]) {
MYSQL *conn,mysql;
// 步骤1: 初始化连接句柄
conn = mysql_init(&mysql);
if (conn==NULL) {
printf("mysql初始化失败!!!");
return -1;
}
// 步骤2:实际进行连
conn = mysql_real_connect(&mysql, "127.0.0.1", "root","******", "test", 3306, NULL, 0); // 用户、密码、端口根据实际设置填写
if (conn) {
printf("连接成功😀");
}else{
printf("连接失败☹");
return -2;
}
mysql_close(conn);
return 0;
}
会发现运行成功但是会报错 dyld: Library not loaded: /usr/local/mysql/lib/libmysqlclient.18.dylib,这是因为Xcode会到本地安装的Mysql的lib中去查找这个库(xcode这么做可能是因为mysql-connector的这个库版本已经落后了,毕竟官网的mysql-connector-c版本已经很久没更新了,C++倒是有新的版本...)
解决办法:通过建立软连接把本地安装的Mysql的libmysqlclient.**.dylib最新库连接到报错路径上:
sudo ln -fs /usr/local/mysql/lib/libmysqlclient.**.dylib /usr/local/ mysql/lib/libmysqlclient.18.dylib
报错的是libmysqlclient.18.dylib,我们就绑定软连接为libmysqlclient.18.dylib。
我安装的是MySQL8.0.12,本地的这个库对应为libmysqlclient.21.dylib,所以我执行的命令为 sudo ln -fs /usr/local/mysql/lib/libmysqlclient.21.dylib /usr/local/ mysql/lib/libmysqlclient.18.dylib
网友评论