Qt编程中遇到的问题及解决办法
来源:互联网 发布:新野美工设计培训中心 编辑:程序博客网 时间:2024/06/02 06:29
- 无法解析的外部符号
- 获取屏幕尺寸的函数
- 链接SQL Server数据库失败
- 找不到MySQL驱动
- Linux静态编译Qt580配置
1. 无法解析的外部符号
LNK2019:无法解析的外部符号 “public” LNK1120:1个无法解析的外部命令
经常遇到类似的错误,将该项目的编译文件删除后再次编译运行即可。
2. 获取屏幕尺寸的函数:
QApplication::desktop()->size();
3. 链接SQL Server数据库失败
ODBC 数据源管理器 未发现数据源或……
若是出现上述警告,打开 控制面板->系统和安全->管理工具->ODBC数据源,添加一个DNS,驱动程序选择SQL Server名称随意(在连接数据库时要使用,setDatabaseName()的参数),原则自己的服务器 ,注意勾选 更改默认的数据库 选择为自己在SQL Server中建的数据库。完成后即可成功连接。
详细请参见:http://www.educity.cn/wenda/284013.html
4.找不到MySQL驱动
QSqlDatabase: QMYSQL driver not loaded
QSqlDatabase: available drivers: QSQLITE QMYSQL QMYSQL3 QODBC QODBC3 QPSQL QPSQL7
出现这个问题时我在用Qt5.5.1,虽然已自带了MYSQL驱动,但因与我的MySQL版本不符,所以仍显示QMYSQL driver not loaded。解决办法是重新编译MySQL驱动:
- 先确保你有Qt的源代码和完整的MySQL
打开Qt的命令行终端:Qt 5.5 for Desktop,输入:
(1).
C:\app\Qt5.5.1\5.5\Src\qtbase\src\plugins\sqldrivers\mysql
注意:应将C:\app\Qt5.5.1改为你的Qt安装目录
(2).
qmake “INCLUDEPATH+=D:\mysql-5.6.24-win32\include” “LIBS+=D:\mysql-5.6.24-win32\lib\libmysql.lib” -o Makefile mysql.pro
注意:应将D:\mysql-5.6.24-win32改为你的MySQL安装目录
(3).
mingw32-make
如果输入无误会进行一系列编译。静候其完成即可。将C:\app\Qt5.5.1\5.5\Src\qtbase\plugins\sqldrivers文件夹下编译生成的qsqlmysql.dll 和 qsqlmysqld.dll 文件复制到C:\app\Qt5.5.1\5.5\mingw492_32\plugins\sqldrivers
另外,生成两个.dll的文件夹里还有两个.a文件。貌似是Qt开发安卓连接MySQL时要用到的动态库,可以保存着备用。
- 将 D:\mysql-5.6.24-win32\lib文件夹中的libmysql.dll文件复制到C:\app\Qt5.5.1\5.5\mingw492_32\bin
- 如果操作无误就完成了,可以试一下如果不出现driver not loaded就是对啦。
#include "mainwindow.h"#include <QApplication>#include <QSqlDatabase>#include <QSqlError>#include <QDebug>int main(int argc, char *argv[]){ QApplication a(argc, argv); QSqlDatabase mysql = QSqlDatabase::addDatabase("QMYSQL"); mysql.setHostName("localhost"); mysql.setDatabaseName("test"); mysql.setUserName("name"); mysql.setPassword("pwd"); qDebug() << "是否打开MySQL数据库:" << mysql.open(); QSqlDatabase sqlite = QSqlDatabase::addDatabase("QSQLITE"); sqlite.setDatabaseName("test"); qDebug() << "是否打开SQLite数据库:" << sqlite.open(); MainWindow w; w.show(); return a.exec();}
5.Linux静态编译Qt5.8.0配置
./configure -prefix /home/zzf/Qt5.8.0/5.8/5.8_Static -release -c++std c++11 -static -qt-sqlite -no-qml-debug -platform linux-g++-64 -qt-zlib -no-journald -qt-libpng -qt-libjpeg -skip qtsensors -skip qtdoc -nomake tools -nomake examples -nomake tests
参考:http://www.mamicode.com/info-detail-1433017.html
- Qt编程中遇到的问题及解决办法
- QT4.8.5编程过程中遇到的问题及解决办法
- QT编程中遇到的问题总结
- Linux中遇到的问题及解决办法
- Latex中遇到的问题及解决办法
- mfc调用Qt遇到的问题及解决办法
- QT编程遇到的问题
- 遇到的问题及解决办法
- 11.29编程中遇到的一些问题以及解决办法
- Qt使用中遇到的问题及解决方案
- 杂记,主要是工作中遇到的问题及解决办法
- 工作中遇到的问题及解决办法11
- 工作中遇到的问题及解决办法12
- 工作中遇到的问题及解决办法14
- 工作中遇到的问题及解决办法15
- 工作中遇到的问题及解决办法16
- 工作中遇到的问题及解决办法17
- 工作中遇到的问题及解决办法18(hibernate)
- lua调用C函数
- pat 1007. 素数对猜想
- hihoCoder 骨牌覆盖问题·一 hiho一下 第四十一周
- 批量删除应用后执行某个操作
- 中国主要城市经纬度查询
- Qt编程中遇到的问题及解决办法
- 第一篇博文—我为什么要开博客(搬移自我的新浪博客)
- Git shell命令上传代码
- 【Cocos2d-js官方文档】 九、cc.loader
- Android与ios对比之系统架构层
- Trouble Shooting -- WebSphere 连接池不够使用的问题
- LayoutInflater的inflate函数用法详解
- 2016年MBA备考路
- 创建自定义 AngularJS 指令:Part 3 孤立作用域与函数参数