专家
公告
财富商城
电子网
旗下网站
首页
问题库
专栏
标签库
话题
专家
NEW
门户
发布
提问题
发文章
嵌入式
如何写一个Qt版本的Helloworld程序?
2019-07-16 09:20
发布
×
打开微信“扫一扫”,打开网页后点击屏幕右上角分享按钮
站内问答
/
嵌入式Linux
7232
2
1642
如何写一个Qt版本的Helloworld程序?
友情提示:
此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
2条回答
爱吃果冻
2019-07-16 13:43
入门级的小程序hello world
对环境的要求:Linux机器上已经安装了Qt,我用的版本是3.3。为了方便开发,使用VncViewer访问Linux,UltraEdit编写程序并通过ftp传送到Linux机器。
1.写以下代码并存为helloworld.cpp。别敲错了,我跟编译器不熟,报错基本考自查,所以手误这种不算问题的问题还是要尽量避免。
这段代码的逐段解释参见《Qt参考文档 Qt教程一 第一章 Hello, World!》
2.在Linux下创建一个文件夹叫helloworld,把helloworld.cpp放进去。提醒使用VncViewer的读者,要放在自己权限可以访问到的目录下。
3.登录Linux,打开终端,进入helloworld文件夹,输入命令qmake -project。执行后用ls查看,是不是多了helloworld.pro文件?qmake -project的意思是用qmake根据helloworld.cpp生成其工程文件,即.pro文件。
输入命令qmake,ls查看一下,是不是又多了一个Makefile文件?qmake根据工程内已有的文件以及他们之间的引用关系自动生成Makefile文件,在这个文件里指定了编译器。
4.输入make命令,会生成一个名为helloworld的文件,标志着我们成功了!文件没有后缀,是可执行的文件,相当于Windows下的helloworld.exe。
5.输入./helloworld来执行我们写的这个程序。执行结果如下图:
以上是一切顺利的情况,一般没有那么好的事,至少我就没遇上。步骤1、2、5应该都没有问题。现在来说说问题以及解决。
如果qmake命令不能执行,请确认已经安装了Qt;当前用户对helloworld文件夹以及里面的文件有读取、修改、执行的权限。如果报错“权限不足”,最好用root登录,如果还不行,在文件夹上点右键,修改属性—>权限,选择勾选写入、执行等。
如果你的Linux上装过不同版本的Qt,或者同时存在两个版本的Qt,很有可能导致编译失败。请在安装或者版本升级时注意清理。
错误“-lqt-mt 找不到文件或文件夹”。用vi打开本工程的Makefile文件,我们可以看到这样一句:LIBS = $(BUBLIBS) -L$(QTDIR)/lib -L/usr/X11R6/lib -lqt-mt -1Xext -1X11 -1m。这句话指定了编译所用的库,是位于$(QTDIR)/lib目录下的lqt-mt.so文件。但编译时,发现这个文件不存在,它就报错了。
那么,这个文件在哪里呢?我的机器上,它在/usr/lib/qt-3.3/lib下。把$(QTDIR)/lib改为/usr/lib/qt-3.3/lib就行了。$(QTDIR)自动替换qt-3.3安装的目录,但某些原因导致它是错误的。
网上有人使用修改文件的办法,就是不修改目录,找到lqt-mt.so并cp成LIBS指定的文件名;或者把此目录下的文件修改为LIBS指定的文件名。这个方法在我的试验环境下是不起作用的。
这个修改路径的办法的缺陷是,只能生成一次helloworld,然后Makefile中又被改回$(QTDIR)/lib。
输出窗口比较小,靠近屏幕左上的角落里,别看不到。
加载中...
查看其它2个回答
一周热门
更多
>
相关问题
ARM 汇编,怎么这个export这么捣乱啊?
1 个回答
【ALIENTEK 战舰STM32开发板例程系列连载+教学】第五十八章 UCOSII实验1-任务调度
38 个回答
什么情况下会导致 自恢复保险丝 阻值出现异常?
1 个回答
【提问题,赢课程】反激开关电源设计、变压器设计及调试课程问题搜集
2 个回答
nand启动文件大于4KB,怎么解决
1 个回答
相关文章
嵌入式编译生成的HEX文件和BIN文件内容详解
0个评论
嵌入式领域,FPGA的串口通信接口设计,VHDL编程,altera平台
0个评论
IMX6UL裸机实现C语言按键输入实验
0个评论
如何编写一个工程文件夹下通用的Makefile
0个评论
Linux设备树专有名词及语法规则详解(下)
0个评论
嵌入式开发之GNU的汇编语法介绍
0个评论
嵌入式开发之Putty软件的安装和使用
0个评论
嵌入式开发之SecureCRT 软件安装和使用
0个评论
×
关闭
采纳回答
向帮助了您的知道网友说句感谢的话吧!
非常感谢!
确 认
×
关闭
编辑标签
最多设置5个标签!
嵌入式
保存
关闭
×
关闭
举报内容
检举类型
检举内容
检举用户
检举原因
广告推广
恶意灌水
回答内容与提问无关
抄袭答案
其他
检举说明(必填)
提交
关闭
×
打开微信“扫一扫”,打开网页后点击屏幕右上角分享按钮
×
付费偷看金额在0.1-10元之间
确定
×
关闭
您已邀请
0
人回答
查看邀请
擅长该话题的人
回答过该话题的人
我关注的人
对环境的要求:Linux机器上已经安装了Qt,我用的版本是3.3。为了方便开发,使用VncViewer访问Linux,UltraEdit编写程序并通过ftp传送到Linux机器。
1.写以下代码并存为helloworld.cpp。别敲错了,我跟编译器不熟,报错基本考自查,所以手误这种不算问题的问题还是要尽量避免。
这段代码的逐段解释参见《Qt参考文档 Qt教程一 第一章 Hello, World!》
2.在Linux下创建一个文件夹叫helloworld,把helloworld.cpp放进去。提醒使用VncViewer的读者,要放在自己权限可以访问到的目录下。
3.登录Linux,打开终端,进入helloworld文件夹,输入命令qmake -project。执行后用ls查看,是不是多了helloworld.pro文件?qmake -project的意思是用qmake根据helloworld.cpp生成其工程文件,即.pro文件。
输入命令qmake,ls查看一下,是不是又多了一个Makefile文件?qmake根据工程内已有的文件以及他们之间的引用关系自动生成Makefile文件,在这个文件里指定了编译器。
4.输入make命令,会生成一个名为helloworld的文件,标志着我们成功了!文件没有后缀,是可执行的文件,相当于Windows下的helloworld.exe。
5.输入./helloworld来执行我们写的这个程序。执行结果如下图:
以上是一切顺利的情况,一般没有那么好的事,至少我就没遇上。步骤1、2、5应该都没有问题。现在来说说问题以及解决。
如果qmake命令不能执行,请确认已经安装了Qt;当前用户对helloworld文件夹以及里面的文件有读取、修改、执行的权限。如果报错“权限不足”,最好用root登录,如果还不行,在文件夹上点右键,修改属性—>权限,选择勾选写入、执行等。
如果你的Linux上装过不同版本的Qt,或者同时存在两个版本的Qt,很有可能导致编译失败。请在安装或者版本升级时注意清理。
错误“-lqt-mt 找不到文件或文件夹”。用vi打开本工程的Makefile文件,我们可以看到这样一句:LIBS = $(BUBLIBS) -L$(QTDIR)/lib -L/usr/X11R6/lib -lqt-mt -1Xext -1X11 -1m。这句话指定了编译所用的库,是位于$(QTDIR)/lib目录下的lqt-mt.so文件。但编译时,发现这个文件不存在,它就报错了。
那么,这个文件在哪里呢?我的机器上,它在/usr/lib/qt-3.3/lib下。把$(QTDIR)/lib改为/usr/lib/qt-3.3/lib就行了。$(QTDIR)自动替换qt-3.3安装的目录,但某些原因导致它是错误的。
网上有人使用修改文件的办法,就是不修改目录,找到lqt-mt.so并cp成LIBS指定的文件名;或者把此目录下的文件修改为LIBS指定的文件名。这个方法在我的试验环境下是不起作用的。
这个修改路径的办法的缺陷是,只能生成一次helloworld,然后Makefile中又被改回$(QTDIR)/lib。
输出窗口比较小,靠近屏幕左上的角落里,别看不到。
一周热门 更多>