ea13db21创建于 2024年5月14日历史提交

编译静态库方法

一、获取libmysqlclient.a

1、在/usr/lib/x86_64-linux-gnu/路径下获取libmysqlclient.a文件

Alt text

如果没有.a文件,请运行

sudo apt-get install libmysqlclient-dev

2、官网下载编译

官网地址:https://downloads.mysql.com/archives/community/

选择mysql版本和系统

image-20240308113303403

以mysql版本8.0.33,系统Ubuntu Linux 18.04 (x86, 64-bit)为例,找到以下libmysqlclient-dev_8.0.33-1ubuntu18.04_amd64.deb下载

image-20240308114322047

可使用以下网站将deb文件解压成tar文件

https://www.ezyzip.com/cn-deb.html

tar文件中的libmysqlclient.a提取出来使用

二、编译项目

linux-x86 环境下运行 build_static_linux.sh 文件

linux-arrch64 环境运行 build_static_aarch64.sh 文件

window 环境下运行 build_static_win.bat 文件

在目录./build/release/mysqlclient/下,最终会生成libmysqlclient_cj.a和libmysqlclient_mysqlclient.a两个静态库.a文件。

三、使用

在使用mysqlclient-ffi库的项目中,将libmysqlclient_cj.alibmysqlclient.a拷贝到当前项目的lib目录下,在module.json中添加以下选项 "link_option": "-lunwind -lstdc++ -lpthread -ldl -lssl -lcrypto -lresolv -lm -lrt",并添加相应的lib依赖,module.json示例如下:

image-20240308160918969