Qt mysql相关

sudo apt-get install mysql-server
sudo apt-get install mysql-client
sudo apt-get install libmysqlclient15-dev

在centos下则
yum install mysql mysql-server [mysql-devel,mysql-client] 等等

安装libevent
centos: yum install

接下来进入QT存放mysql驱动源码的目录,其中$QDIR为你安装的QT的路径
cd $Q
TDIR/
src/
plugins/
sqldrivers/
mysql执行qmake操作生成makefile

qmake "INCLUDEPATH+=/usr/include/mysql"
"LIBS+=-L/usr/lib/mysql -lmysqlclient_r"
mysql.
pro注意INCLUDEPATH是你mysql.h文件的路径,lib是你mysql库的路径
然后执行make操作生成libqsqlmysql.so

make最后执行

make install即可在$QTDIR/plugins/sqldrivers/中看到生成的libqsqlmysql.so
安装成功。


mysql -u root -p

QSqlDatabase db = QSqlDatabase::addDatabase("QMYSQL");
db.setDatabaseName("testdb");
db.setUserName("root");
db.setPassword("123456");
if(db.open()){
qDebug() << "success open";
}


配置就是这样的了,但是在centos下弄了半天都没成,在我的ubuntu下10分钟连在线下载一起搞定。郁闷啊,最后只有装了个QtSDK再配置了次,参考这位的安装方法
[url]http://blog.csdn.net/tangjie200566/article/details/6278569[/url]

避免安装QT SDK 出现错误/usr/lib/libstdc++.so.6: version `GLIBCXX_3.4.9' not found

执行ls -l /usr/lib/libstdc++.so.6
发现/usr/lib/libstdc++.so.6 -> /usr/lib/libstdc++.so.6.0.8,其实这里需要使用libstdc++.so.6.0.10

下载此文件 然后删除之前的连接unlink /usr/lib/libstdc++.so.6 ,把下载的文件复制的目录/usr/lib

创建新的连接ln -s /usr/lib/libstdc++.so.6.0.10 /usr/lib/libstdc++.so.6

安装QT SDK http://qt.nokia.com/downloads/sdk-linux-x11-32bit-cpp

安装eclipse QT 插件

http://get.qt.nokia.com/qteclipse/qt-eclipse-integration-linux.x86-1.6.1.tar.gz

SRC http://get.qt.nokia.com/qteclipse/qt-eclipse-integration-linux.x86-1.6.1-src.tar.gz

然后创建测试项目时候出现以下两个问题:

/opt/qtsdk-2010.05/qt/lib/libQtGui.so: undefined reference to `FT_Library_SetLcdFilter'
make: Leaving directory `/opt/qtsdk-2010.05/qt/examples/linguist/hellotr-build-deskto

解决办法:安装这两个包

下载 freetype http://download.savannah.gnu.org/releases/freetype/

下载 fontconfig http://www.freedesktop.org/software/fontconfig/release/

给表增加字段:
alter table test add column times datetime not null;

插入时间字段:
INSERT INTO TEST VALUES(1,'12:12:12');
如果要当前时间则
insert INTO TEST VALUES(1,CURTIME());

如果不止时间,还有日期的话,如:
TEST(C INT,D DATETIME)
则:
INSERT INTO TEST VALUES(1,'1999-9-9 12:12:12');
如果要当前日期时间则
insert INTO TEST VALUES(1,now());

关于程序发布后,如果客户机没装qt,找不到mysql驱动的问题,以及图片显示不出来的问题:
1.在生成的程序目录下加上sqldrivers这个目录,然后在里面加上libqsqlmysql.so
2.如果不显示图片,而在生成的程序目录下加上imageformats,加上libqico.so(我用的是ico图片,其它可在qt的imageformats下找到)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值