• 8090阅读
  • 11回复

qt 连接mysql数据库 [复制链接]

上一主题 下一主题
离线zhoubingfeng
 

只看楼主 倒序阅读 楼主  发表于: 2008-09-07
— 本帖被 XChinux 从 General Qt Programming 移动到本区(2011-01-02) —
我在安装qt4.4的时候在configure没有选择plugin-sql<driver>这一项。现在需要连接mysql数据库时提示时没有mysql driver。我是否需要重新安装qt啊?????
如果不用重新安装qt的话我应该怎么做呢??我的mysql用
tar方式安装的。
谢谢!
离线zhoubingfeng

只看该作者 1楼 发表于: 2008-09-07
我在网上查了一些资料说编译一下mysql的驱动就可以了。当时我编译好了libqsqlmysql.so和libqsqlmysql.so.debug这个东西以后放到
plugin/sql* 这个路径后怎么还是找不到驱动啊。
我的mysql安装在/usr/local/mysql这里
头文件在/usr/local/mysql/include/mysql中
lib在/usr/local/mysql/lib/mysql中
我在编译mysql驱动的时候
qmake -o Makefile "INCLUDE+=/usr/local/mysql/include/mysql"
"LIBS+=/usr/local/mysql/lib/mysql -lmysqlclient_r" mysql.pro
make有成功编译,但是libqmysql.so和libqmayl.so.debug加起来只有几百k。我还找到一个人写得资料说他编译的时候这两个文件的内容要有5M左右,但是我编译了好几次都是没有这么大。。。。

????????请牛人看看这时怎么回事????????
小弟不胜感谢!!!!
离线mumutouv

只看该作者 2楼 发表于: 2008-09-07
我觉得你弄错了,你应该是加入qt的mysql模块支持,不需要加入你上面所说的呀
只需要在pro文件里面加入QT += mysql
离线zhoubingfeng

只看该作者 3楼 发表于: 2008-09-08
谢谢你的回答!我看qt4.4的文档上面说的是加入QT+=sql呀!
诶呀,先不管那么多一会去实验室试试先!
再次感谢你的回帖!
离线zhoubingfeng

只看该作者 4楼 发表于: 2008-09-08
不行呀!我在pro里加入QT+=mysql 。。。qt根本就不认识这个选项。
继续等待答案。。。。。。。
离线foxyz

只看该作者 5楼 发表于: 2008-09-08
首先,你要么在QT安装的时候 加上mysql的 驱动模块,否则就自己安装加上去(不必重装QT)。具体请参考技术文档。非常详尽

其次,在你的pro文件中加上 qt += sql

第三:在你的main中请加上QApplication app(argv,argc),或者至少保证全局对象实例q_app存在
离线foxyz

只看该作者 6楼 发表于: 2008-09-08
相关技术文档链接也给你

http://doc.trolltech.com/4.4/sql-driver.html
离线zhoubingfeng

只看该作者 7楼 发表于: 2008-09-08
我就是按照文档上那么做得。也生成了libqmysql.so这个东西,也把它拷贝到了plugins/sqldriver这个文件中了,这个我已经在上面的帖子说过了。。
可是我在运行程序的时候还是说没有QMYSQL driver啊!
离线zhoubingfeng

只看该作者 8楼 发表于: 2008-09-08
我顶!!!!
离线ruizh

只看该作者 9楼 发表于: 2008-09-09
我是在安装fedora8的时候直接安装自带的MySql的,和你同样的问题 现在也找不到驱动,请问自动安装的mysql安装在什么位置阿?我还没找到mysql的头文件和lib?
离线zhoubingfeng

只看该作者 10楼 发表于: 2008-09-09
感谢 XChinux,我的问题解决了。。在google上搜到 XChinux回别人的一个帖子,说如果正确的按照文档上的讲得做还是找不到plugins的话,那么就重新编译QT,加上qt-sql-mysql就是说把mysql的支持编译到QtSql模块中去,而不用再去找插件。
然后吧mysql的lib文件包含在自己的$LD_LIBRARY_PATH中就OK了。。
离线zhoubingfeng

只看该作者 11楼 发表于: 2008-09-09
rpm安装的mysql默认应该是在/usr/local/include和/usr/local/lib中吧。。
你用locate命令查查看看,如果你是刚安装的话可以用updatedb先更新一下数据,在用locate命令。。。
快速回复
限100 字节
 
上一个 下一个