完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
扫一扫,分享给好友
入门级的小程序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。 输出窗口比较小,靠近屏幕左上的角落里,别看不到。 |
|
|
|
好的,谢谢你的回复。我已经搞定了,用的是QTK |
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
飞凌嵌入式ElfBoard ELF 1板卡-内核编译之初次编译
598 浏览 0 评论
飞凌嵌入式ElfBoard ELF 1板卡-内核源代码的目录结构和文件说明
531 浏览 0 评论
飞凌嵌入式ElfBoard ELF 1板卡-Linux内核移植之内核简介
1178 浏览 0 评论
非科班也能玩转Android应用,体验QT跨平台能力-迅为RK3568开发板
1035 浏览 0 评论
飞凌嵌入式-ELFBOARD-ELF 2硬件分享之最小系统原理
1121 浏览 0 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-19 20:07 , Processed in 0.667452 second(s), Total 78, Slave 59 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号