美文网首页
Xcode编写连接Mysql的C程序

Xcode编写连接Mysql的C程序

作者: 枫林风雨 | 来源:发表于2018-12-13 17:31 被阅读20次
1、下载并安装Connector/C
  1. Mysql官网下载地址下载mac os x的Connector/C,本文下载的是 mysql-connector-c-6.1.2-osx10.7-x86_64.dmg
  2. 按向导安装Connector/C。默认,它安装在 /usr/local/mysql-connector-c-6.1.11-macos10.12-x86_64
    mysql-connector-c 文件夹的路径会根据connector版本和系统版本自动生成,所以不是固定的,配置Xcode的时候请注意
2、配置xcode
  1. 打开Xcode,新建项目,选择Command Line Tool,点下一步,语言选择C语言。
  2. 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

4、大功告成😝😀。。。

相关文章

网友评论

      本文标题:Xcode编写连接Mysql的C程序

      本文链接:https://www.haomeiwen.com/subject/fbebhqtx.html