具体 *** 作步骤如下:
1)在release文件夹里创建plugins文件夹,并将QT安装目录下的plugins\sqldrivers文件夹下的libqsqlite4.a qsqlite4.dll(数据库不同可能一样) 复制到release\plugins文件夹(如果sqldrivers文件夹中没有你需要的驱动,可能就需要下载其他的驱动了,方法大致相同)
2)main.cpp中添加以下语句 QApplication::addLibraryPath("./plugins")
3)在构建中选中release 后进行编译,生成exe文件。
4)新建文件夹,在你安装qt的目录中(我的目录是D:/Qt/4.8.5/bin)查找qtsql4.dll libgcc_s_dw2-1.dll mingwm10.dll QtCore4.dll QtGui4.dll 然后复制到新建的文件夹中
5)将release下的exe文件和sqldrivers文件夹复制到新建的文件夹。
6)运行生成的exe 文件,就可测试功能了。
1.安装qt的时候还没有安装mysql.也就是说应该在安装qt之前安装mysql数据库.这个错误由QSqlDatabase抛出db.lastError().text()2.将以前编译的mysql驱动程序拷入qt文件夹位置放错.
3.你的程序写错了.
4."driver not loaded" 是由query.lastError().text()抛出的错误.
5.gcc版本不一样(本机和目标机).
既然知道原因了,解决起来也就非常轻松了.
1.重新安装qt,重新安装mysql驱动
2和3的解决方法我就没有什么好说的了.
4. 说明你的query在创建的时候没有和qsqldatabase建立起关联.正确的方法是声明qsqldatabase后就声明query.如果你希望一 个连接能够和多个query关联使用如下语法:QSqlQuery query(db),db是QSqlDatabase的实例名.
5.同步gcc版本咯..
首先,运行如下测试代码:
//don't forget about QT+= sql
qDebug() <<QSqlDatabase::drivers()
QSqlDatabase db( QSqlDatabase::addDatabase( "QMYSQL" ) )
qDebug() <<db.lastError()
对于一些初学Qt的人来说,在软件里面可以运行里面的程序进行调试,但是想炫耀一个自己的劳动成功,给别人看看,就不行了,把.exe文件拷贝给别人,别人无法运行。
如果想运行这个编译成功的软件,你可以这么做
方法一:把编译成功的.exe文件放到你QT的安装目录下,例如:C:\Qt\2010.05\qt\bin,这样点击可以运行(软件运行依赖环境的)
方法二:在C:\Qt\2010.05\qt\bin这个路径下面,把软件需要的基本动态链接库文件拷贝到你的release目录下面
MINGWM10.DLL
QtGui4.dll
QtCore4.dll
phonon4.dll
方法三:比较笨哈,就是把C:\Qt\2010.05\qt\bin下面的动态库全部考到一个文件夹中,然后看着删,删除了不能运行的就留下,最后剩下的
就是必要的动态库文件了。
这个得看你软件里面用到了哪些控件,哪些功能,基本的就是这3个动态文件,如果有别的,你拷贝一下就可以了。
第二种方法简单,但是得看你的软件用那些服务了,如果用数据库,就得把数据库QtSql4.dll的动态库加入到里面去,如果用网络了,再
把网络QtNetwork4.dll等动态库加入到里面去,这么说,大家应该都懂得了吧。
这样就可以运行了。但图片文件还是可能显示不出来,解决办法:
把程序文件夹里,建立一个imageformats目录(必须是这个名字),把qt目录下的plugin/imageformats目录下对应的dll文件copy过去。这样动态连接就完成了。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)