• 4362阅读
  • 1回复

linux下数据库驱动编译(MySql为例其他都一样) [复制链接]

上一主题 下一主题
离线seven_1990
 
只看楼主 倒序阅读 楼主  发表于: 2011-10-19

1. Linuxqt-mysql驱动编译

export PATH=/opt/qtsdk-2010.05/qt/bin:$PATH
cd $QTDIR/src/plugins/sqldrivers/mysql
qmake "INCLUDEPATH+=/usr/include/mysql" "LIBS+=-L/usr/lib/mysql -lmysqlclient_r" mysql.pro
make
Make结束会产生一个名为 libqsqlmysql.so 的库
cd $QTDIR/plugins/sqldrivers/
cp $QTDIR/src/plugins/sqldrivers/mysql/libqsqlmysql.so .

附录:1
编译前确保$QTDIR/src/plugins/sqldrivers/mysql目录下面有如下文件

Qmake指定的头文件和库必须与自己机器上mysql的一致


2. Linuxqt程序打包问题

首先,查看qt程序运行需要的库
ldd cdrecord               cdrecord为我的可执行文件名)

这里截图只有一部分,我们只需要知道需要哪些qt库就行了 其他的库操作系统都自带的
简单的qt程序只要把这些库和可执行文件打包在一起就行了,在没有qt开发环境的机器上,把这些库复制到/usr/lib目录下,点击可执行文件就可以执行

下面介绍的是带mysqlqt程序打包
首先,在程序的main.cpp中加入下面内容制定plugins目录的位置
QString strLibPath(QDir::toNativeSeparators(QApplication::applicationDirPath())+QDir::separator()+"plugins");
qApp->addLibraryPath(strLibPath);
这段代码指定了plugins目录的位置为./plugins
Mysql驱动程序的位置$QTDIR/plugins/sqldrivers/libqsqlmysql.so
所以我们直接把plugins ,可执行文件和用到的qt库 一起打包目录结构如下:


安装过程:
在没有qt环境的机器上安装qt程序(我打包好的程序放在/home/mid_ui目录)
1. 拷贝qt库到/usr/lib目录
cp /home/mid_ui/lib* /usr/lib
2. 把plugins目录与可执行文件保持同级目录
3. 运行可执行文件即可


因为图片上传看不到 qt群25934117 里我上传了原件
离线ppdayz

只看该作者 1楼 发表于: 2011-10-19
学习了
快速回复
限100 字节
 
上一个 下一个