锐英源软件
第一信赖

精通

英语

开源

擅长

开发

培训

胸怀四海 

第一信赖

当前位置:锐英源 / 开源技术 / C语言开源技术 / QT项目PRO文件编译时找不到头文件错误
服务方向
人工智能数据处理
人工智能培训
kaldi数据准备
小语种语音识别
语音识别标注
语音识别系统
语音识别转文字
kaldi开发技术服务
软件开发
运动控制卡上位机
机械加工软件
软件开发培训
Java 安卓移动开发
VC++
C#软件
汇编和破解
驱动开发
联系方式
固话:0371-63888850
手机:138-0381-0136
Q Q:396806883
微信:ryysoft

QT项目PRO文件编译时找不到头文件错误


引言

近期在国产Linux操作下开发一个告警系统,用到QT做界面,部署QT环境遇到了困难,QT环境安装好了,编译时又遇到问题,灵机一动,最终解决问题。

部署环境遇到的困难主要在于找不到合适的源,这个Linux操作下有yum,但是用yum下载安装依赖的包时,提示文件找不到,trying other mirrow,根据网上的的提示把yum相关的一个配置文件删除后,直接提示no package,后来和同事讨论,这是源没有,不是yum软件的事,yum相当于一个客户端,它安装软件要从服务器上下载,源就是指存放包的服务器。后来客户给了个虚拟机,里面有环境才解决了部署问题。Linux的版本分裂确实头疼。

PRO文件

有了环境后,就要用代码试环境,从网上找了个文章,按步骤执行,步骤有:

1、用designer设计界面

2、用uic把界面ui转成代码文件

3、编写配套的对话框文件和主函数文件

4、用qmake -project生成pro项目文件

5、用qmake生成Makefile

6、用make生成可执行文件

这些步骤里比较重要的是第4步,它生成的项目文件,里面指定了有哪些文件参与编译,下面是个示例:

######################################################################
# Automatically generated by qmake (2.01a) ?? 7? 4 20:00:34 2017
######################################################################

TEMPLATE = app
TARGET =
DEPENDPATH += .
INCLUDEPATH += .

# Input
HEADERS += MyDlg.h untitled.h
FORMS += untitled.ui
SOURCES += main.cpp MyDlg.cpp

内容也好理解,app代表应用程序模板,路径没指定,头文件哪些,窗体界面是哪个,源代码文件哪些。

编译时找不到头文件错误

因为随意从网上找的参考文章,和环境不太一致,在第3步里指定的文件里有些包含头文件语句,比如:

#include <QDialog.h>

这样的代码行,编译就提示找不到头文件错误,没有这个文件,编译失败。

为了解决此问题,先是加指令,比如QT+=Widgets这样的指令,不行。

后来把绝对路径加上,也能通过,不报错。但是想着在profile里添加了环境变量,不应该用绝对路径啊,后来把.h去掉,编译就不报错了。

用.h也是网上作者的原文,这可能是作者写的比较早吧。所以要活学活用,不能生拉硬扯。

PRO文件的另外一个形式

SOURCES = addressbook.cpp \
main.cpp
HEADERS = addressbook.h

# install
target.path = $$[QT_INSTALL_EXAMPLES]/tutorials/addressbook/part1
sources.files = $$SOURCES $$HEADERS $$RESOURCES $$FORMS part1.pro
sources.path = $$[QT_INSTALL_EXAMPLES]/tutorials/addressbook/part1
INSTALLS += target sources

这个比上面更简单,少了模板和路径部分,但肯定能用。因为是用代码动态创建的界面,里面没用FORMS来指定UI文件。

友情链接
版权所有 Copyright(c)2004-2021 锐英源软件
公司注册号:410105000449586 豫ICP备08007559号 最佳分辨率 1024*768
地址:郑州大学北校区院(文化路97号院)内