温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

QT常见错误的处理有哪些

发布时间:2021-12-15 09:49:19 来源:亿速云 阅读:184 作者:iii 栏目:互联网科技

这篇文章主要讲解了“QT常见错误的处理有哪些”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“QT常见错误的处理有哪些”吧!

关于一些编译错误的处理

编译过程中如果产生错误信息,需要解决掉才能继续编译下去,错误信息的产生主要是因为编译器版本造成的,共有以下几类错误信息:

1 缺少工具错误

 QT常见错误的处理有哪些

这是编译时遇到的第一个问题,编译 qt2 时需要使用 uic 工具,uic 是 PC 上运行的工具,

用来把 Qt 的界面文件,也就是.ui 文件转换成.h 文件和.cpp 文件,转换完成后才能交

给交叉编译器编译。

解 决 办 法 :把 qtopia-free-2.2.0/dqt/bin 里 面 的 uic 文 件 拷 贝 到

qtopia-free-2.2.0/qt2/bin 下面即可。

注意:uic 拷贝到 qtopia-free-2.2.0/qt2/bin 后,需要修改一下 build 脚本文件,因为

如果您重新执行 build 命令,该脚本会把刚才编译中的 qtopia-free-2.2.0 文件夹删除,重新

解压,形成新的 qtopia-free-2.2.0,开始编译,这样刚才拷贝的 uic 就没意义了。

修改方法如下图所示:

 QT常见错误的处理有哪些

源代码需要 custom-linux-arm-g++.h/cpp 文件,但是没找到。

解决办法:

#cd ./qtopia-free-2.2.0/qtopia/src/libraries/qtopia

#cp custom-linux-ipaq-g++.h custom-linux-arm-g++.h

#cp custom-linux-ipaq-g++.cpp custom-linux-arm-g++.cpp

继续编译

#cd /root/yizhi

#./build

4 无法匹配到 QSizePolicy 类的构造函数

即 QSizePolicy 类没有提供特定参数的构造函数

 QT常见错误的处理有哪些

找 到 后 在./qtopia-free-2.2.0/qtopia/src/libraries/qtopia/.ui/release-shared 目

录下面,执行以下命令,修改该文件:

# gedit ./qtopia-free-2.2.0/qtopia/src/libraries/qtopia/.ui/release-shared/pas

swordbase_p.cpp

移动光标到第 35 行,如下图所示:

 QT常见错误的处理有哪些

保存退出,执行如下命令重新编译:

#./build

重新编译后,会出现若干次这个类型的错误,解决办法非常相似,这里就不一一介绍了。

5 类的成员函数前有额外的类名字

如下图:

 QT常见错误的处理有哪些

修改后如下图:

 QT常见错误的处理有哪些

解决办法参考下图:

 QT常见错误的处理有哪些

f=::open(tempFile,latin1(),0_CREAT | 0_WRONLY); 修改为

f=::open(tempFile,latin1(),0_CREAT | 0_WRONLY,0666);即增加 0666 参数,

保存,退出。

对于 open 函数来说,仅当创建新文件时,第三个参数使用,用于指定文件的访问权限

注 意:共 有 两 处 这 样 的 修 改, 另 外 一 处:

qtopia-free-2.2.0\qt2\src\tools\qmemoryfile_unix.cpp 文件的第 143 行位置,修改

方 法与 qmemoryfile_unix.cpp 文件相似。

#./build 重新编译

7 缺少 this 指针

如下图:

 QT常见错误的处理有哪些

解决办法如下:

# gedit .\ qtopia-free-2.2.0\qt2\src\kernel\qpixmapcache.cpp

修改第 125 行为

QT常见错误的处理有哪些

修改原因是因为 asm/page.h 文件里面定义了一些宏,咱们在这里重新定义了必须使用

的宏,所以这里就不需要 asm/page.h 文件了。

说明:继续编译后会出现几次以上类型的错误,出现的错误类型就是以上总结的几种

(出错的信息通过 google 能找到解决方法),修改方法按以上步骤即可,主要就是发现哪个

文件出错,找到该文件,用 gedit 打开该文件,移动到出错的行上,修改,保存退出。出错

的文件和行号是根据编译时的错误提示信息来找到的,一定要查找第一个 Erro 的地方,这里

是需要重点关注的。通过这几种错误类型的修改,您会对 Qt 移植有了新的认识,也提高了您

的软件移植能力。

编译成功完成后,Qtopia2.2.0 会自动的安装到 qtopia-free-2.2.0/qtopia/zImage/opt

下面,如下图

 QT常见错误的处理有哪些

注 意 : 编 译 好 的 Qtopia 下 面 没 有 字 体 , 自 己 需 要 把 字 体 放

到 Qtopia/lib/fonts 下面,qtopia-free-2.2.0/qt2/lib/fonts 文件夹下有各种可以用的字

体,但是我们只需要 helvetica 类型,该类型支持中文。执行以下命令:

#cp/root/yizhi/qtopia-free-2.2.0/qt2/lib/fonts/Helvetica* /root/yizhi/qtopia-fr

ee-2.2.0/qtopia/image/opt/Qtopia/lib/fonts/

另 外 需 要 把/root/yizhi/armlib 下 面 的 文 件 全 部 拷 贝 到

/root/yizhi/qtopia-free-2.2.0/qtopia/image/opt/Qtopia/lib/下面

字体文件和库文件拷贝完成后,把 Qtopia 整个录拷贝到文件系统的 /opt 录下面,如

果该目录下面已经有迅为电子提供的 Qtopia 文件夹,您可以把迅为电子提供的 Qtopia 文件

夹删除掉,来运行您自己编译的版本。

感谢各位的阅读,以上就是“QT常见错误的处理有哪些”的内容了,经过本文的学习后,相信大家对QT常见错误的处理有哪些这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是亿速云,小编将为大家推送更多相关知识点的文章,欢迎关注!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

qt
AI