首页 qt opengl database编程错误集锦

qt opengl database编程错误集锦

举报
开通vip

qt opengl database编程错误集锦qt opengl database编程错误集锦 1.The process d:/qt/2010.05/qt/bin/qmake.exe exited with code %2.应该检查一下路径是否是包含了中文,对于编程来说,应该尽量避免使用中文,尤其是路径上 2.信号与槽中SIGNAL和SLOT注意要大写 3.Qmake does not support build directories below the source directory就是说你工程所在的目录不能在源文件所在的目录下面。 你重新建立一...

qt opengl database编程错误集锦
qt opengl database编程错误集锦 1.The process d:/qt/2010.05/qt/bin/qmake.exe exited with code %2.应该检查一下路径是否是包含了中文,对于编程来说,应该尽量避免使用中文,尤其是路径上 2.信号与槽中SIGNAL和SLOT注意要大写 3.Qmake does not support build directories below the source directory就是说你工程所在的目录不能在源文件所在的目录下面。 你重新建立一个工程目录,然后把源文件放到工程目录下面。 就是目录的主次被你弄颠倒了。Qt有记忆功能,就是你之前做了什么,即使你修改了,有时候也还是按照改之前的路径去编译。所以,最好的办法是新建一个工程文件夹,然后把源文件放到里面。不要直接修改就重新编译。 4.Message消息框需要show来显示 5.invalid use of incomplete struct "Ui::Widget" 解决方法 在ui中将这个ui里widget或者dialog或者mainwindow的名字修改为错误里提及的“struct Ui::Widget”中的Widget。总之,要保持ui文件中class项的值与ui中widget或dialog或mainwindow的ObjectName相同~ 6.collect2: ld returned 1 exit status后来发现是因为上次执行的程序还在运行,你打开windows的任务管理器中的进程可以看见你刚才运行的程序还在执行,我们看不见,是因为它在后台执行着。出现这个现象,是因为你写的代码的问题,比如在main函数里用了w.show();语句,就可能出现界面一闪而过,但它并没有关闭,而是在后台运行,所以再次运行时就会出错。我们可以在资源管理器中将该进程关闭,或者像上面那样直接关闭Qt Creator。 你可以按下调试栏上面的红色Stop停止按钮来停止程序运行。你也可以在windows任务管理器的进程中将该进程结束,而后再次运行就没问题了,当然先关闭Qt Creator,而后再重新打开,这样也能解决问题。还有可能是所对应的槽函数或者其他的成员函数没有能实现。 7.Multiple definition of 'shortest(int **,int ,int,int ,int)' In function 'Z8shortestPPiiiii':错误的原因是路径的问题,可能是由于将源文件直接编译的原因,对此,我们可以新建工程,将原来的文件依次建立文件拷进去 8.invalid use of incomplete type (struct QMouseEvent) forward declaration of struct QMouseEvent. 出现无效引用或者向前申明时,需要查看是否有头文件,这个可以从帮助里面找 9.在写QGLWidget等的头文件时,说找不到,这时可以使用#include 试试 10.出现in function z5qmainippc或者是在widget构造函数和解析函数报错时,需要改.pro文件,需要增加QT += opengl;在建数据库时,需要加QT += sql 11.Candidates are:void QWidget::show(),request for member 'show' is ambiguous这是说明现在的类继承了多个类,它们各自有自己的show函数,因此系统不知道调用哪一个,我们可以使其只继承一个 12.This application has requested the Runtime to terminate it in an unusual way. Please contact the application's support team for more information.意外的错误发生,这时可以使用单步调试,设置断点的方式,将错误 出现的地点找到,依次排除 13.ISO c++ forbids declaration of 'texture' with no type出现这个错误,一般是由于两个CPP相互都相互包含了对方的头文件造成的 ,解决办法是在声明对象前加class,如果调用的函数有重名的话,需要在前面使用命名空间,作用域符号。还可能是构造函数和类名不相同,包括大小写,或者是函数没有返回类型,需要加void 14.纹理加载不上时,首先检查所使用的文件图像是否是可以打开的,然后看目录位置是否正确,前面必须使用:/表示所在位置,还同时注意是斜杠而不是反斜杠,最后要注意一定要加载资源文件 15.遇到问题时,可以百度,同时注意要从帮助文件中获得知识,包括所用的类,成员函数 以及变量, 16.Request for member 'rgb' in '(Qt::GlobalColor)8u',which us of non-class 'Qt::GlobalColor' 17.资源名可以和文件夹名不相同,注意引用的方式,同时需要将图形文件放在文件夹中,不然load不上。纹理加载无效时,一定要看看所使用的图形是不是有问题 18.可以使用qWarning进行错误的输出,是在application窗口 19.debug/moc_widget.o:moc_widget.cpp:(.rdata$_ZTV6Widget[vtable for Widget]+0xf4): undefined reference to `Widget::resizeGL(int, int)'这样的错误说明该函数未定义或者未实现,建立对应的信号和槽 20.编写非窗口继承类添加显示字符串的时候,例如:tr("Hello"); 会出现这样的错误提示:tr was not declared in this scope. 这个问题的解决方式是修改如下:QObject::tr("Hello"); 21.槽函数必须在当前类的函数,改函数里面可以实现对其他对象的成员函数的调用,但是不可以直接出现在槽函数中 22.主窗口想要由子窗口调用的话,需要将其声明成成员变量,否则会出现一闪而过的现象,其中声明时应该在前面加class关键字 23.Expected unqualified-id before '=' token, expected primary-expression before 'char' 等类似错误时,要看它所提示的错误里面是不是有用关键字定义的,一次检查一下看是否存在宏定义的东西 24.在qt中调用glut库时,需要分别将glut.h 放在Qt\2010.05\qt\include\QtOpenGL,将glut.lib和glut32.lib 放在\Qt\2010.05\qt\lib,将glut.dll和glut32.dll 放在\Qt\2010.05\qt\bin中,并且在.pro里加入:LIBS=-lopengl32 -lglut32 -lglut,将 #include 要加入到所以GLUT库的最前面,现在就编译通过 25.出现图像闪烁,以及图像影像重叠等,看是不是gluPerspective设置错误,要求最近距离为大于0的数 26.Cannot retrieve debugging output!同时运行了两个或多个工程,可以在其他界面打开另一个 27.No matching function for cell to QMessageBox::information出现问题,先看一下当前的this是不是对话框等之类的,如果只是简单的类,而没有界面,则不能出现,因为要求是widget 28.QSqlDatabasePrivate::addDatabase: duplicate connection name 'qt_sql_default_connection', old connection removed. 经查,是由于在数据库使用过程中,又再次调用QSqlDatabase db = QSqlDatabase::addDatabase("QSQLITE"); 造成了问题。因此在其他地方的数据库操作中修改此代码。可以在执行QSqlDatabase db = QSqlDatabase::addDatabase("QSQLITE"); 不用默认的defaultConnection,自己加入名字,然后在每次的添加时可改为:QSqlDatabase db; if(QSqlDatabase::contains("GBond")) db = QSqlDatabase::database("GBond"); else db = QSqlDatabase::addDatabase("QSQLITE", "GBond"); 但再次执行时出现了 QSqlQuery::exec: database not open 经查,这是由于在执行query.exec时没有指定db。将所有执行query.exec改为 //原来 QSqlQuery query; query.exec("select XmlValue from GPlatform"); //改为 QSqlQuery query("select XmlValue from GPlatform", db);这样就可以了。 29.name lookup of `i' changed for new ISO `for' scoping 这个错误是不同编译器的苦恼~~它说的是 for 循环中在 “初始化”部分 定义的变量的作用域范围的一个问题。ISO/ANSI C++ 把在此定义的变量的作用域范围限定在 for 循环体 内,或者说,出了循环体之外这个变量就无效了。 30.文件读取不出来时,应该坚持是否加载了资源文件,同时本地文件以:/开头
本文档为【qt opengl database编程错误集锦】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_321635
暂无简介~
格式:doc
大小:24KB
软件:Word
页数:5
分类:
上传时间:2018-03-09
浏览量:12