当前位置: 首页 > news >正文

【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 

执行成功即可

http://www.lryc.cn/news/337560.html

相关文章:

  • vscode远程免密登录ssh
  • 2024年MathorCup数模竞赛C题详解
  • 【简单讲解如何安装与配置Composer】
  • 深入理解Apache ZooKeeper与Kafka的协同工作原理
  • js解密心得,记录一次抓包vue解密过程
  • redis-哨兵模式
  • 自动化测试中的SOLID原则
  • tencentcloud-sdk-python-iotexplorer和tencent-iot-device有什么区别
  • Spring day1
  • 设计模式: 行为型之中介者模式(18)
  • 计算机网络的起源与发展历程
  • 2024-4-12-实战:商城首页(下)
  • 一、flask入门和视图
  • Selenium+Chrome Driver 爬取搜狐页面信息
  • SpringBoot:一个注解就能帮你下载任意对象
  • oracle全量、增量备份
  • React Router 5 vs 6:使用上的主要差异与升级指南
  • 基于LNMP部署wordpress
  • openGauss_5.1.0 企业版快速安装及数据库连接:单节点容器化安装
  • 微信小程序 uniapp+vue城市公交线路查询系统dtjl3
  • 2024年MathorCup数模竞赛B题问题一二三+部分代码分享
  • Ubuntu日常配置
  • GMSSL-通信
  • linux 磁盘分区Inode使用率达到100%,导致网站无法创建文件报错 failed:No space leftondevice(
  • 探索Python库的奇妙世界
  • SQL Server 存储函数(funGetId):唯一ID
  • 当你的项目体积比较大?你如何做性能优化
  • 第6章:6.3.2 一张表总结正则表达式的语法 (MATLAB入门课程)
  • VBA 实现outlook 当邮件设置category: red 即触发自动创建jira issue
  • 办公软件巨头CCED、WPS迎来新挑战,新款办公软件已形成普及之势