博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Qte程序执行到app.exec()时出现Segmentation Fault问题的解决
阅读量:7034 次
发布时间:2019-06-28

本文共 1211 字,大约阅读时间需要 4 分钟。

hot3.png

昨天把Qtopia 2.2.0编译移植好了后,今天打算写一个hello world测试一下。拿到可执行文件后,下到板子上,加上-qws选项运行,结果直接Segmentation Fault。代码如下:

#include "qapplication.h"#include "qpushbutton.h"#include 
#include
int main(int argc, char *argv[]){ QApplication app(argc,argv); QPushButton *hello = new QPushButton("Hello World.",0); //printf("hello.\n"); hello->resize(640,480); //hello->move(100,100); //printf("hello.move.\n"); hello->show(); app.setMainWidget(hello); //printf("hello.show.\n"); while(0) { printf("show...\n"); sleep(1); } return app.exec();}

检查代码,没问题,每一句后面加上printf语句,发现前面都没有问题,但只要执行到

return app.exec();

就会出现段错误。我在前面加上while(1)都没问题。上网google了一下,也有人遇到这问题,不过说法各不一样,主要都是说是编译器版本的问题,而我的环境不会有这个问题。在最后终于找到了原因:是编译选项需要加上宏QWS。出错前的编译命令为:

arm-hismall-linux-g++ -ohello hello.cpp -I$(HOME)/qt/qt-hisi-2.2.0/qtopia-free-2.2.0/qt2/include -I$(HOME)/qt/qt-hisi-2.2.0/qtopia-free-2.2.0/qt2/src/tools -lqte -L$(HOME)/qt/qt-hisi-2.2.0/qtopia-free-2.2.0/qtopia/lib -Wl,-rpath-link=/home/lzhong/qt/qt-hisi-2.2.0/build/lib
结果编译链接都没有错误,但是一到板子上就是段错误。但加上-DQWS选项后就好了。

转载于:https://my.oschina.net/shelllife/blog/116112

你可能感兴趣的文章
ARM-Linux (临时,正式) 建立页表的比较【转】
查看>>
Android -- 程序启动画面 Splash
查看>>
C++中四种显示类型转换总结
查看>>
In_interrupt( ) 和In_irq( )【转】
查看>>
1.初始Windows Server 2012 R2 Hyper-V + 系统安装详细
查看>>
设计模式系列-原型模式
查看>>
使用 Python 进行线程编程 线程的使用模式
查看>>
XMOVE3.0手持终端——软件介绍(五):在2KB内存的单片机上实现的T9中文输入法...
查看>>
MySQL学习笔记之右连接
查看>>
Eclipse下Maven新建Web项目index.jsp报错完美解决(war包)
查看>>
PRAGMA EXCEPTION_INIT
查看>>
筛素数法小结
查看>>
mysql利用存储过程批量插入数据
查看>>
Android学习路线(六)为Android应用加入ActionBar
查看>>
[Step By Step]SAP HANA PAL 数据处理四分位间距检测Inter-quartile Range Test范例IQRTEST
查看>>
解决eclipse中java代码注释变成乱码的问题
查看>>
字符串的排列
查看>>
C#快速排序
查看>>
快照隔离(Snapshot Isolation)简单介绍和例子
查看>>
MoinMoin wiki 服务器搭建 与尝试
查看>>