Qt交叉编译mysql驱动

时间:2024-03-27 14:38:15

操作系统:Ubuntu1204.3

Qt版本:4.8.4

 

一、交叉编译libmysqlclient.so

当libmysqlclient.so文件不存在时需要自行编译,使用mysql官网源码编译libmysqlclient.so文件

1、从mysql官网下载mysql-client源码如下

ftp://ftp.fu-berlin.de/unix/databases/mysql/Downloads/Connector-C/

 

2、用cmake进行编译

cd到mysql-connector-c-6.0.2目录下,执行下面命令

cmake -G "Unix Makefiles" -DCMAKE_INSTALL_PREFIX=/hxy/mysql/target/

其中/hxy/mysql/target/为编译输出文件路径,自行创建一个就行

3、在mysql-connector-c-6.0.2目录下,编辑CMakeLists.txt添加下面两行,并设置为本机已安装的gcc和g++名称

SET(CMAKE_C_COMPILER "arm-linux-gnueabihf-gcc")

SET(CMAKE_CXX_COMPILER "arm-linux-gnueabihf-g++")

Qt交叉编译mysql驱动

 

4、make

5、make install 执行结束之后会在/hxy/mysql/target/生成以下文件

Qt交叉编译mysql驱动

 

 

 

二、交叉编译mysql驱动

下面根据上面编译出的mysqlclient编译mysql驱动

使用Qt自带mysql源码编译时,需要修改/qt-everywhere-opensource-src-4.8.4/src/plugins/sqldrivers/mysql/mysql.pro文件中的路径

Qt交叉编译mysql驱动

1、qmake "INCLUDEPATH+=/hxy/mysql/target/include/""LIBS+=-L/hxy/mysql/target/lib/ -lmysqlclient_r" mysql.pro

执行第一步时先用qmake -v查看一下qmake版本,有报错的话需要将qmake的路径加到环境变量中去

找不到qmake版本时报错如下图:

Qt交叉编译mysql驱动

export PATH=/usr/local/Trolltech/QtEmbedded-4.8.4-arm/bin:$PATH

Qt交叉编译mysql驱动

2、make

3、make install 执行结束之后会生成libqsqlmysql.so

Qt交叉编译mysql驱动