操作系统: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++")
4、make
5、make install 执行结束之后会在/hxy/mysql/target/生成以下文件
二、交叉编译mysql驱动
下面根据上面编译出的mysqlclient编译mysql驱动
使用Qt自带mysql源码编译时,需要修改/qt-everywhere-opensource-src-4.8.4/src/plugins/sqldrivers/mysql/mysql.pro文件中的路径
1、qmake "INCLUDEPATH+=/hxy/mysql/target/include/""LIBS+=-L/hxy/mysql/target/lib/ -lmysqlclient_r" mysql.pro
执行第一步时先用qmake -v查看一下qmake版本,有报错的话需要将qmake的路径加到环境变量中去
找不到qmake版本时报错如下图:
export PATH=/usr/local/Trolltech/QtEmbedded-4.8.4-arm/bin:$PATH
2、make
3、make install 执行结束之后会生成libqsqlmysql.so