Linux QT5.2下编译MySQL5.6.7驱动

来源:互联网 发布:淘宝上适合少女的店铺 编辑:程序博客网 时间:2024/05/12 01:46

Linux 下编译MySQL驱动:

环境:Qt5.2.1 + MySql5.6.17 + ubuntu12.04

 

1、下载Mysql5.6.17安装包MySQL-5.6.17-1.linux_glibc2.5.i386.rpm-bundle.tar

2、安装alien工具将rpm包转换成deb:使用命令alien -d x.rpm 生成x.deb

3、mysql安装之后,执行命令:dpkg -l|grep mysql查看安装的mysql组件,要编译mysql驱动下边的组件必须安装:

 

ii mysql-client                                  5.6.17-2                                MySQL - Client

ii mysql-devel                                  5.6.17-2                               MySQL - Development header files and libraries

ii  mysql-server                                  5.6.17-2                                MySQL: a veryfast and reliable SQL database server

 

4、在qt安装目录mysql驱动源码所在的目录执行如下命令:

 qmake"INCLUDEPATH+=/usr/include/mysql" "LIBS+=-L/usr/lib/mysql-lmysqlclient_r" mysql.pro

生成makefile文件

5、然后make

make过程中可能出现下列错误:

ers/mysql# make

….....................

 -I/home/lhl/Qt5.2.1/5.2.1/gcc/include/QtCore/5.2.1-I/home/lhl/Qt5.2.1/5.2.1/gcc/include/QtCore/5.2.1/QtCore-I/home/lhl/Qt5.2.1/5.2.1/gcc/include/QtCore -I.moc -o .obj/moc_qsql_mysql_p.o.moc/moc_qsql_mysql_p.cpp

rm -f libqsqlmysql.so

g++ -Wl,--no-undefined -Wl,-O1-Wl,-rpath,/home/lhl/Qt5.2.1/5.2.1/gcc -Wl,-rpath,/home/lhl/Qt5.2.1/5.2.1/gcc-Wl,-rpath,/home/lhl/Qt5.2.1/5.2.1/gcc/lib -shared -o libqsqlmysql.so.obj/main.o .obj/qsql_mysql.o .obj/moc_qsql_mysql_p.o  -L/usr/lib/mysql -ldl -lrt-Wl,-Bsymbolic-functions -rdynamic -lmysqlclient_r-L/home/lhl/Qt5.2.1/5.2.1/gcc/lib -lQt5Sql -lQt5Core -lpthread 

/usr/lib/mysql/libmysqlclient_r.a(my_getsystime.c.o):In function `my_getsystime':

/export/home/pb2/build/sb_0-11763321-1394831461.01/rpm/BUILD/mysql-5.6.17/mysql-5.6.17/mysys/my_getsystime.c:44:undefined reference to `clock_gettime'

/usr/lib/mysql/libmysqlclient_r.a(client_plugin.c.o):In function `do_add_plugin':

/export/home/pb2/build/sb_0-11763321-1394831461.01/rpm/BUILD/mysql-5.6.17/mysql-5.6.17/sql-common/client_plugin.c:179:undefined reference to `dlclose'

/usr/lib/mysql/libmysqlclient_r.a(client_plugin.c.o):In function `mysql_client_plugin_deinit':

/export/home/pb2/build/sb_0-11763321-1394831461.01/rpm/BUILD/mysql-5.6.17/mysql-5.6.17/sql-common/client_plugin.c:306:undefined reference to `dlclose'

/usr/lib/mysql/libmysqlclient_r.a(client_plugin.c.o):In function `mysql_load_plugin_v':

/export/home/pb2/build/sb_0-11763321-1394831461.01/rpm/BUILD/mysql-5.6.17/mysql-5.6.17/sql-common/client_plugin.c:393:undefined reference to `dlopen'

/export/home/pb2/build/sb_0-11763321-1394831461.01/rpm/BUILD/mysql-5.6.17/mysql-5.6.17/sql-common/client_plugin.c:422:undefined reference to `dlsym'

/export/home/pb2/build/sb_0-11763321-1394831461.01/rpm/BUILD/mysql-5.6.17/mysql-5.6.17/sql-common/client_plugin.c:413:undefined reference to `dlerror'

/export/home/pb2/build/sb_0-11763321-1394831461.01/rpm/BUILD/mysql-5.6.17/mysql-5.6.17/sql-common/client_plugin.c:425:undefined reference to `dlclose'

collect2: ld 返回 1

make: *** [../../../../plugins/sqldrivers/libqsqlmysql.so]错误1

 

以上错误解决办法:

第一种:可以在第4步生成的makefile文件中添加LIBS         +=-lpthread -lrt-ldl 就可以编译通过

第二种:qmake"INCLUDEPATH+=/usr/include/mysql" "LIBS+=-L/usr/lib/mysql-lmysqlclient_r" mysql.pro LIBS+=-lpthread -lrt-ldl

 

0 0
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 脸上挠了血印子怎么办 大班公开课烫伤了怎么办教案 孩子心理出现了问题该怎么办 幼师打孩子很多家长告怎么办 课堂上纪律不好的学生怎么办 孩子上幼儿园总感冒怎么办 孩子上幼儿园总生病怎么办 台湾人抗拒统大陆人中国人怎么办 如果一年的公休日耍不完怎么办 我一个月要歇三天班怎么办 学校没给报到证怎么办 员工休息一天老板拉着脸怎么办 换工作了报到证怎么办 幼儿园的孩子不写作业怎么办 幼儿园宝宝不写作业怎么办 幼儿园孩子不写作业怎么办 光盘数据面写字了怎么办 娃娃的手断了怎么办 联币金融跑路了怎么办 胃消化不了想吐怎么办 吃撑了恶心想吐怎么办 mac口红膏体晃动怎么办 excl图标和以前不一样了怎么办 冰箱显示板坏了怎么办 冰箱电脑显示屏坏了怎么办 冰箱的电子显示屏坏了怎么办 指导别人炒股亏损了怎么办 没有协议委托别人炒股亏损怎么办 炒股亏了很多钱崩溃了怎么办 帮人炒股亏了很多钱怎么办 破净买入继续跌怎么办 国画颜色上错了怎么办 宝宝5个月脸一直开裂怎么办 宝宝冻脸怎么办小妙招 3岁小儿长期便秘怎么办 脚裂了怎么办小妙招 宝宝脸风吹裂了怎么办 宝宝脸被风吹裂了怎么办 小宝贝的手有时候抖怎么办 打球把手戳肿了怎么办 阴茎上皮肤皴了怎么办