【Linux笔记】编mysql库

说明当前编译条件:使用cmake 进行编译<当前编译为Ubuntu PC 版本 在虚拟机上面使用>
一、 cmake 库 【 cmake version 3.16.3 】
二、 openssl 库 【 libopenssl-1.1.1K 】
三、mysql 库 【mysql-5.7.36 】
四、boost 库 【boost_1_59_0 】

一、安装cmake

  • 1.1、方式一 ,使用 sudo apt-get install cmake  安装
    
    1.2、方式二, 安装包安装
    			下载位置: https://cmake.org/download
    			放到虚拟机里面、然后解压、存在一个脚本 cmake-${version}-Linux-x86_64.sh
    			直接执行放在即可安装到系统库里面
      	    或者可以指定安装路径,避免和自身的CMAKE 冲突
      	    ./ cmake-${version}-Linux-x86_64.sh       --prefix=/opt/cmake    
    

二、进行MYSQL 库进行编译
2.1、将下载的mysql 库 解压
2.2 、将下载的openssl 压缩包解压
2.3、将下载的boost压缩包解压
2.4、 将解压完的openssl和boost 文件夹 ,移动进去mysql 文件里面

三、进行cmake 编译

3.1、cmake 编译, 要注意的是,cmake 后面的指令带一个一个点,表明当前路径

  cmake   .   -DCMAKE_INSTALL_PREFIX=${PWD}/__install  \
  -DWITH_SSL=${PWD}/openss1_1_1_1  \
  -DDOWNLOAD_BOOST=1 \
  -DWITH_BOOST=${PWD}/boost_1_59_0

// - DCMAKE_INSTALL_PREFIX 表明生成的静态库的目录路径
// -DWITH_SSL    表明当前OPENSSL 路径
//  -DDOWNLOAD_BOOST 开启boost
//  -DWITH_BOOST  表明当前boost 路径

3.2、编译

make  
// 注意、不建议使用多线程编译,也就是不要带 -j 32 等参数 多线程编译有好大几率编译出错

3.3、打包
make install

四、连接mysql 库测试
去到【 三、进行cmake 编译】 步骤、DCMAKE_INSTALL_PREFIX 指定的位置里面,
然后创建一个main.c 文件

#include <string.h>
#include <stdlib.h>
#include <stdlib.h>
#include <stdio.h>
#include <mysql.h>

int main( int argc ,char& argv )
{
	MYSQL*    fp   = NULL;
 	fp = mysql_init( NULL );
    if( fp == NULL )
    {
        printf(" create mysql failed \r\n");
        return 0;
    }
	mysql_close( fp );
	return 0;
}

执行一下指令进行编译

// 编译 当前要注意的是、 -lstdc++  -ldl -lpthread 这三个软连接库,一定要放在mysql 库后面
gcc -o  demo  main.c  -I./include/  ./lib/libmysqlclient.a  ./lib/libmysqld.a  ./lib/libmysqlservices.a    -lstdc++  -ldl -lpthread

// 执行
./demo 

执行成功即可

相关推荐

  1. Linux笔记mysql

    2024-04-13 07:18:07       40 阅读
  2. Linux笔记wpa_supplicantl

    2024-04-13 07:18:07       51 阅读
  3. linux】将一个c文件译成so文件

    2024-04-13 07:18:07       30 阅读
  4. Linux应用编程笔记】tslib使用

    2024-04-13 07:18:07       50 阅读
  5. Linux上使用MySQL Yum存储安装MySQL

    2024-04-13 07:18:07       37 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-04-13 07:18:07       98 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-04-13 07:18:07       106 阅读
  3. 在Django里面运行非项目文件

    2024-04-13 07:18:07       87 阅读
  4. Python语言-面向对象

    2024-04-13 07:18:07       96 阅读

热门阅读

  1. Ubuntu 设置mysql 自动备份

    2024-04-13 07:18:07       111 阅读
  2. go的切片删除

    2024-04-13 07:18:07       39 阅读
  3. 探秘ChatGPT:如何利用AI提升论文写作效率

    2024-04-13 07:18:07       43 阅读
  4. LeetCode刷题笔记第144题:二叉树的前序遍历

    2024-04-13 07:18:07       50 阅读
  5. ARM Day4

    2024-04-13 07:18:07       190 阅读
  6. 各个微前端框架的优劣浅谈

    2024-04-13 07:18:07       38 阅读
  7. 【笔记】Teach less, learn more

    2024-04-13 07:18:07       46 阅读
  8. openjudge_2.5基本算法之搜索_1789:算24

    2024-04-13 07:18:07       42 阅读
  9. numpy学习笔记(4),通用函数

    2024-04-13 07:18:07       150 阅读
  10. 【电路笔记】-异或门

    2024-04-13 07:18:07       49 阅读
  11. 个人博客项目笔记_08

    2024-04-13 07:18:07       32 阅读