QT中 No such file or directory的解决办法

2023-10-27

报错具体情境:
使用D:\Qt\Qt5.8.0\5.8\mingw53_32> 终端进行编译程序,步骤如下:
qmake -project //生成CH01.pro 文件
qmake CH01.pro //生成 Makefile(总的makefile) Makefile.Debug Makefile.Release
mingw32-make //生成release版本,在release目录下
mingw32-make debug //生成debug版本,在debug目录下
会报如下错误:
dialog.h:4:19: fatal error: QDialog: No such file or directory

这个是由于没有包含相应的头文件目录导致的问题。需要在Makefile.Release(Debug)文件中查看INCPATH = -I. -I. -ID:\Qt\Qt5.8.0\5.8\mingw53_32\include -ID:\Qt\Qt5.8.0\5.8\mingw53_32\include\QtGui -ID:\Qt\Qt5.8.0\5.8\mingw53_32\include\QtANGLE -ID:\Qt\Qt5.8.0\5.8\mingw53_32\include\QtCore -Idebug -I. -ID:\Qt\Qt5.8.0\5.8\mingw53_32\mkspecs\win32-g++
比如我的错误是头文件QDialog不能找到,该文件在D:\Qt\Qt5.8.0\5.8\mingw53_32\include\QtWidgets下,可以查看上面的目录,确实没有包含该目录。
大家可以想下Makefile文件是如何生成的,是qmake根据.pro文件编译后产生的,那么解决方法为:
在创建工程的时候使用如下语句:
qmake -project QT+=widgets
qmake CH01.pro
查看Makefile.Release(Debug)文件中的INCPATH = -I. -I. -ID:\Qt\Qt5.8.0\5.8\mingw53_32\include -ID:\Qt\Qt5.8.0\5.8\mingw53_32\include\QtWidgets -ID:\Qt\Qt5.8.0\5.8\mingw53_32\include\QtGui -ID:\Qt\Qt5.8.0\5.8\mingw53_32\include\QtANGLE -ID:\Qt\Qt5.8.0\5.8\mingw53_32\include\QtCore -Idebug -I. -ID:\Qt\Qt5.8.0\5.8\mingw53_32\mkspecs\win32-g++

.pro文件中各变量意义:

◆ HEADERS 指定工程的 C++头文件(.h)。
◆ SOURCES 指定工程的C++实现文件(.cpp)。
◆ FORMS 指定需要 uic 处理的由 Qt 设计师生成的.ui 文件。
◆ RESOURCES 指定需要 rcc 处理的.qrc 文件。
◆ DEFINES 指定预定义的 C++预处理符号。
◆ INCLUDEPATH 指定 C++编译器搜索全局头文件的路径。
◆ LIBS 指定工程要链接的库。库既可以通过绝对路径指定,也可以使用源自 Unix 的-L 和-l 标识符来指定(例如,-L/usr/local/lib 和-ldb_cxx)。
◆ CONFIG 指定各种用于工程配置和编译的参数。
◆ QT 指定所要使用的 Qt 模块(默认是 core gui,对应于 QtCore 和 QtGui 模块)。加上模块之后,makefile中的模块头文件目录也就自动加上啦。
◆ VERSION 指定目标库的版本号。
◆ TARGET 指定可执行文件或库的基本文件名,其中不包含任何的扩展、前缀或版本
号(默认的是当前的目录名)。
◆ DESTDIR 指定可执行文件放置的目录(默认值是平台相关的。
例如,在 Linux 上,指当前目录;在 Windows 上,则是指 debug 或 release 子目
录)。
◆ DLLDESTDIR 指定目标库文件放置的目录(默认路径与 DESTDIR 相同)。

CONFIG 变量用来控制编译过程中的各个方面。它支持下面这些参数:

◆ debug 是指具有调试信息的可执行文件或者库,链接 Qt 库的调试版。
◆ release 是指编译不具有调试信息的可执行文件或者库,链接发行版的 Qt 库。如果
同时指定 debug 和 release,则 debug 有效。
◆ warn_off 会关闭大量的警告。默认情况下,警告的状态是打开的。
◆ qt 是指应用程序或者库使用 Qt。这一选项是默认包括的。
◆ dll 是指动态编译库。
◆ staticlib 是指静态编译库。
◆ plugin 是指编译一个插件。插件总是动态库,因此这一参数暗含 dll 参数。
◆ console 是指应用程序需要写控制台(使用 cout、cerr、qWarning(),等等)。
◆ app_bundle 只适用于 Mac OS X 编译,是指可执行文件被放到束中,这是 Mac OS X
的默认情况。
◆ lib_bundle 只适用于 Mac OS X 编译,指库被放到框架中。

关于上面的各个变量的使用方法:
在终端上执行
qmake -project QT+= widgets
则加上了widgets模块,在pro文件中生成 QT+=widgets 语句。

qmake -project SOURCES+= ./src/test/cpp
则在pro文件生成 SOURCES+=./src/test.cpp

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

QT中 No such file or directory的解决办法 的相关文章

  • 如何检测QTableView中的双击

    我正在使用 PyQt 创建 GUI 应用程序 在继承自 QTableView 的视图中 需要检测用户双击行时选择的行 该表可以排序 但不能编辑 我该怎么做 注意 尝试了 doubleClicked int 信号 它是由鼠标按钮发出的 而不是
  • 如何创建向后兼容 Windows 7 的缩放和尺寸更改每显示器 DPI 感知应用程序?

    我是 WPF 和 DPI 感知 API 的新手 正在编写一个在 Windows 7 8 1 和 10 中运行的应用程序 我使用具有不同每个显示器 DPI 设置的多个显示器 并且有兴趣将我的应用程序制作为跨桌面配置尽可能兼容 我已经知道可以将
  • 导致崩溃转储的 Java 错误的解决方法

    我开发的一个程序偶尔会由于这个错误而导致 JVM 崩溃 http bugs java com bugdatabase view bug do bug id 8029516 http bugs java com bugdatabase vie
  • 如何使用 Win32 API 与 com 端口 (RS232) 通信

    我正在尝试使用 win32 API 与 com 端口对话 我找到了这个http www robbayer com files serial win pdf http www robbayer com files serial win pdf
  • Qt-Qlist 检查包含自定义类

    有没有办法覆盖加载自定义类的 Qt QList 的比较机制 即在 java 中你只需要重写一个比较方法 我有一个带有我的自定义类模型的 QList QList
  • Windows 上的递归移动命令

    我需要做一个 sh 的 bat 副本 我不太了解 Windows cmd 在 Linux 上我可以做 mv or rsync a SOURCE DEST remove sent files ignore existing whole fil
  • Python3 在 DirectX 游戏中移动鼠标

    我正在尝试构建一个在 DirectX 游戏中执行一些操作的脚本 除了移动鼠标之外 我一切都正常 是否有任何可用的模块可以移动鼠标 适用于 Windows python 3 Thanks I used pynput https pypi or
  • 如何使我的表单标题栏遵循 Windows 深色主题?

    我已经下载了Windows 10更新包括黑暗主题 文件资源管理器等都是深色主题 但是当我创建自己的 C 表单应用程序时 标题栏是亮白色的 如何使我自己的桌面应用程序遵循我在 Windows 中设置的深色主题 你需要调用DwmSetWindo
  • Mac 上的 Qt — 如何访问帮助菜单中的“搜索”

    我正在将我的 Qt 应用程序移植到 Mac OS X 在 Windows Linux 上 我使用 QLineEdit 在帮助菜单中提供搜索功能 In Mac OS X I saw something like this is built i
  • 静态变量中的 qt tr()

    我在 qt 中的翻译方面遇到问题 我的项目中的所有翻译都工作正常 但有一个翻译位于类的静态变量中 相应部分代码如下 头文件类似于这样 typedef struct int type QString problematicString inf
  • 用于推送通知的设备令牌

    我正在实施推送通知服务 我需要创建一个数据库来存储 4 个移动平台的所有设备令牌 我想根据他们的平台 iOS Android BlackBerry WP7 来组织它们 但是有什么方法可以区分平台 这样如果我只想向 Android 用户发送消
  • 是否可以在 Qt Creator 中将 Qt 样式表与升级的小部件一起使用?

    我正在尝试使用 Qt 样式表对标准小部件进行一些重大的重新设计 因此 在为不同的小部件手动完成大部分工作之后 objectName选择器 我决定以某种方式对类似的小部件进行分组 例如我有多个QFrames其作用类似于内部表单中的标题 我希望
  • Qt 安装程序框架 - 如何在卸载时仅删除某些文件和文件夹

    我使用 Qt 安装程序框架 如何确保在卸载时仅删除某些文件或文件夹 而不是像当前那样删除安装文件夹中的所有文件 先感谢您 您可以覆盖默认行为component createOperations对于卸载程序 然后使用手动指定每个卸载路径com
  • 如何消除 QTableWidget 中的空白?

    How do I get rid of the whitespace in my application 我想摆脱 QTableWidget 中的空白 蓝色箭头 我该怎么做 这是我的应用程序的代码 gridLayout QGridLayou
  • 在 Windows 上通过 ctypes 将文件描述符传递给 C 库函数

    我试图通过 ctypes 将文件描述符传递给在 fd 上执行写入的 C 函数 在linux上它可以工作 在 Windows 上则不然 我不明白为什么 我没有 Windows 开发人员的经验 C func signature void fun
  • 更改当前工作目录 VS13?

    如本文所述post https stackoverflow com questions 11979632 c sdl why does sdl loadbmp return null我调试 SDL 程序时的工作目录是相对于 vcproj 而
  • 批处理脚本 - IF EXIST 复制到 %localappdata% 错误

    我似乎被批处理脚本困住了 需要一些帮助 基本上我需要检查文件是否存在于文件夹中 localappdata 如果确实如此 则覆盖该文件 如果没有放置在不同的位置 那么目前它的内容如下 IF EXIST localappdata foldern
  • 如何将 Hudson/Jenkins 参数传递给 Windows 批处理命令

    好吧 我需要在我的 Hudson 作业中执行一个批处理文件 我有一个参数 Jenkis 参数 我需要将这个值 如参数 传递给批处理文件 我尝试了以下操作 Deploy cmd configuration DEPLOYCONFIGURATIO
  • 已达到网络 BIOS 命令限制

    我的 ASP Net 应用程序从另一台 Windows 服务器上的共享文件夹获取文件 当请求增加时 我收到以下错误 The network BIOS command limit has been reached 我已按照以下步骤操作微软 K
  • 如何为 Windows toast 注册协议?

    如何注册 Windows toast 协议 样本中来自https blogs msdn microsoft com tiles and toasts 2015 07 02 adaptive and interactive toast not

随机推荐

  • STM32ADC多通道采集(基于DMA)

    首先简单介绍DMA DMA Direct Memory Access 直接内存存取 用来提供在外设和存储器之间或者存储器和存储器之间的高速数据传输 无需CPU干预 节省CPU资源 ADC转换出来的值直接赋值给定义好的变量中 配置好的DMA可
  • PCA降维算法的介绍、多角度推导及python实现

    一 算法原理及数学推导 在对于数据的处理上 特征维度过高经常是一个无法忽视的问题 但是单纯的降维压缩对于数据本身会使得数据信息遭到严重损失 不过以PCA为代表的线性降维算法对这方面有所保证 它的目标是通过某种线性投影 将高维的数据映射到低维
  • JVM内存模型

    内存模型主要分为共享内存和线程独享内存 内存分配原理为1 JVM先检查new关键字 并在常量池中定位到一个类的引用 2 检查定位到的类是否已经经过了加载 解析 初始化等步骤 3 为其分配内存 存储对象实例 一 共享内存 1 运行时常量池 编
  • C++连接数据库

    一 sql h ifndef SQL H define SQL H include
  • 聊聊Spring注解@Transactional失效的那些事

    一 前言 emm 又又又踩坑啦 这次的需求主要是对逾期计算的需求任务进行优化 现有的计算任务运行时间太长了 简单描述下此次的问题 在项目中进行多个数据库执行操作时 我们期望的是将其整个封装成一个事务 要么全部成功 或者全部失败 然而在自测异
  • 通过刷脸来支付的确带给了我们很多便利

    在携带手机不方便或者受到限制的场所 也是刷脸支付的重要应用场景 比如游泳池附近 海边沙滩游乐场 比如易燃易爆的场所 学校 工厂等禁用手机的地方 随着刷脸支付如此私密的功能被越来越多的人接受 刷脸功能也一定不会止步于此 未来更多场景的应用是大
  • bottle.py 实现批量文件上传

    bottle py是python的一个Web框架 整个框架只有一个文件 几十K 却自带了路径映射 模板 简单的数据库访问等web框架组件 确实是个可用的框架 初学web开发可以拿来玩玩 其语法简单 部署也很方便 官方文档 http bott
  • 女程序员珍妮的故事

    我不想说出她的名字 这里就叫她珍妮吧 珍妮有5个最好的朋友 其中2个是 Google 的工程师 一个是 Eventbrite 的工程师 一个是架构师 另外一个是她的老爸 一个很可爱的人 是珍妮家乡的州足球队的主席 珍妮毕业时拿的是企业管理专
  • 梯度隐私泄露

    梯度隐私泄露 动机 梯度泄露推测方法 DLG 梯度泄露防御方法 梯度信息推测出数据集信息 三种预设 参考文献 动机 传统认为 在用户与用户 用户与中心之间传输梯度信息是安全的 本文打破了这种理所当然 已知学习模型 权重参数W和真实梯度 W
  • centos 运行.exe文件 storescu.exe 上传 DICOM文件

    由于不会使用DCMTK源码在centos中进行运行 所以使用windows下的exe进行上传 windows 下 DICOM文件上传命令 storescu exe aec LINKINGMED IP 104 v D DICOMSOURCE
  • linux开机自动挂载

    1 修改文件 vim etc fstab 在文件最后一行添加内容 dev cdrom mnt iso9660 defaults 0 0 2 验证是否挂载成功
  • mac打开ssh服务器文件,mac ssh 远程服务器文件

    mac ssh 远程服务器文件 内容精选 换一换 已成功登录Java性能分析 待安装Guardian的服务器已开启sshd 待安装Guardian的服务器已安装JRE JRE版本要求为Huawei JDK 8或者Open JDK 8 11
  • python s append_pandas中如何使用合并append函数?

    介绍了这么多关于pandas拼接的方法 那你知道如果想要拼接拼接一个或者多个 还可以追加serise到原来的dataframe里面如何操作吗 其实还是很简单的 使用append函数就可以解决 本文介绍pandas中使用合并append函数的
  • qq里面发送图片显示服务器被拒绝,如何解决qq无法发送图片的问题

    原因一 一般是网速比较慢 电信联通教育他们内部传图片大家都能收到 教育网给联通发就一般收不到了 清理下你的QQ图片文件夹 里面堆积的图片太多了 原因二 由于网络问题 查看手机移动数据流量或者wifi连接是否正常 QQ版本问题 将QQ版本升级
  • Python 中 pass的使用

    def sample n samples Generate random samples from the fitted Gaussian distribution pass 在python中有时候能看到定义一个def函数 函数内容部分填写
  • (一)人工智能大纲摘要:《人工智能发展白皮书-技术架构篇(2018年9月)》

    以下博客的主要内容 摘自白皮书 http www caict ac cn kxyj qwfb bps index 1 htm 人工智能发展白皮书 技术架构篇 2018年 人工智能安全白皮书 2018 2018世界人工智能产业发展蓝皮书 电信
  • 小米路由器4a千兆版刷固件_小米路由器4A千兆版恢复出厂设置的方法

    摘 要 说明 几乎所有品牌的家用无线路由器 都可以通过长按机身的复位按键 来进行恢复出厂设置 小米路由器4千兆版也不例外 同样可以通过长按复位按键的方式 来恢复出厂设置 具体的操作步骤和注意事项 下面 本文将给大家详细介绍 小米路由器4千兆
  • 【Python 3.7】三明治:编写一个函数,它接受顾客要在三明治中添加的一系列食材。这个 函数只有一个形参(它收集函数调用中提供的所有食材)……

    Python 3 7 三明治 编写一个函数 它接受顾客要在三明治中添加的一系列食材 这个函数只有一个形参 它收集函数调用中提供的所有食材 并打印一条消息 对顾客点的三明治进行概述 调用这个函数三次 每次都提供不同数量的实参 传递任意数量的实
  • C++11 noexcept

    C 11 引入了noexcept 它有两类作用 noexcept 指定符和noexcept 运算符 一 noexcept 指定符 1 含义 指定函数是否抛出异常 2 两类语法 noexcept 1 同noexcept true noexce
  • QT中 No such file or directory的解决办法

    报错具体情境 使用D Qt Qt5 8 0 5 8 mingw53 32 gt 终端进行编译程序 步骤如下 qmake project 生成CH01 pro 文件 qmake CH01 pro 生成 Makefile 总的makefile