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的解决办法 的相关文章

  • Windows下Kafka托管在Docker中删除主题时出现异常

    我在 Windows 的 Docker 中托管 Kafka 威斯迈斯特 卡夫卡 https hub docker com r wurstmeister kafka 使用 docker 镜像 Kafka 数据存储在本地 Windows 文件夹
  • QTableView 并双击一个单元格

    我正在开发测试用例编辑器 该编辑器包含 USART 传输和接收数据包格式 编辑器是一个表格视图 发送和接收数据包的长度为八个字节 例如 0x01 0x02 0x03 0x08 它在我的第五和第六栏中 现在 我希望此列中的单元格为只读 但是当
  • 如何在 Qt 应用程序中嵌入 Python 解释器?

    有没有一种简单的方法可以将 Python 解释器嵌入到 Qt 应用程序中 如果可能的话 我希望有一个跨平台的解决方案 这就是目的PythonQt http pythonqt sourceforge net 它支持 Windows Linux
  • 如何在 PowerShell 中键入 TAB 字符?

    Task 默认情况下 在 Windows 命令提示符中按 TAB 键将输出文件名 而在 PowerShell 中则不会执行任何操作 我希望能够在交互模式下键入 TAB 字符 而不是通过脚本 Research 我在这个网站上和通过谷歌搜索发现
  • 在 Windows 上将 Mercurial (hg) 存储库转换为 Git (7)

    我现在真的很沮丧 我有一个现有的 hg 存储库 其中有几个月的编码历史 我想将其放入私有 Github 存储库中 以便我可以从那里对其进行处理 不幸的是我使用的是 Windows 我似乎找不到any转换我实际上可以正常工作的存储库的方法 实
  • 如何让 git 和 copSSH 在正确的目录中查找密钥?

    我刚刚安装了 Windows 版 copSSH 当我启动它时 我得到一个目录C copSSH home Nick ssh其中有我的酒吧和私钥 当我通过 Cygwin bash 窗口访问此目录时 使用 ssh 用户 主机 我很高兴地登录了 但
  • 覆盖 QWebView 中的页面回复

    我试图在 Qt 的 QWebView 中拦截页面 表单请求 并在某些情况下使用替代内容进行响应 QNetworkReply ngcBrowser createRequest Operation operation const QNetwor
  • .wav 文件长度/持续时间,无需读入文件

    有没有办法提取有关 wav 文件长度 持续时间的信息 而无需在 R 中读取文件 我有数千个这样的文件 如果我必须阅读每个文件才能找到其持续时间 那将需要很长时间 Windows 文件资源管理器为您提供了打开 长度 字段的选项 并且您可以查看
  • 在OpenCV中将YUV转换为BGR或RGB

    我有一个电视采集卡 其输入内容为 YUV 格式 我在这里看到了与此问题类似的其他帖子 并尝试尝试所述的所有可能的方法 但它们都没有提供清晰的图像 目前最好的结果是 OpenCVcvCvtColor scr dst CV YUV2BGR 函数
  • 代码退出-1073741515 (0xc0000135)“未找到依赖的 dll”

    我正在尝试编写一个简单的程序 与 2019 年相比 Windows 10 64 位 调试 gt x64 遵循 将 Visual C 项目配置为面向 64 位平台 1 include
  • Windows 上的 Openssl 错误 0x02001005 和 0x2006D002?

    我正在尝试使用 openssl 将 cer 证书转换为 p12 证书 这是我正在使用的命令 C OpenSSL Win32 bin gt openssl x509 inform der in developer identity cer o
  • 如何在Android中使用QML - QWebView

    我想在 Android 中部署一个 YouTube 应用程序 但它只能在我的电脑上运行 在安卓上不起作用 它不加载任何视频 问题仅出在 QWebView 上 我使用了与此类似的代码 http doc qt io archives qt 5
  • 使用 QGraphicsScene 实现流畅的动画

    我希望我的问题并不总是同样的问题 我有一个 QGraphicsScene 它的项目是一些 QGraphicsPixmap 我用一个计时器来移动它们 每秒 SetX 10 我设置 10是因为窗口大100 使用这个解决方案我的动画不流畅 我想我
  • 由于图形处理单元配置,不支持 Windows Phone 模拟器(Mac 上的 Windows 7)

    启动 Windows Phone 模拟器时出现错误 不支持 Windows Phone 模拟器 因为您的计算机没有所需的图形处理单元配置 如果没有图形处理单元 XNA 框架页面将无法运行 您想继续启动模拟器吗 当我尝试访问网页 任何网页 时
  • 检测计算机何时解锁 Windows

    我用过这个优秀的方法 https stackoverflow com questions 20733441 lock windows workstation using python 20733443锁定 Windows 计算机 那部分工作
  • Qt(在 Windows 上)将权限级别设置为“requireAdministrator”

    我正在使用 Qt Creator 并努力制作 exe文件默认以管理员身份运行 在线阅读所有解决方案我试图将这一行放入我的 pro file QMAKE LFLAGS MANIFESTUAC level requireAdministrato
  • 如何在Windows上分离“Git bash”中启动的“git gui”?

    例如 我开始 git bash 我导航到某个目录 I start git gui 我关闭控制台窗口或按 Ctrl C Git gui 的窗口消失了 即使我用过git gui disown 即使当我按 Ctrl C 时它不在前台 如何正确分离
  • Git 扩展 - 无法在 Windows 上推送到网络驱动器中的 git bare 存储库

    我正在 Windows 上学习 git 我已经安装了 Git 扩展 版本 2 47 3 并使用了它 我在我的 C 单元中创建了一个裸存储库 作为中央存储库 并在硬盘中的其他任何位置创建了个人存储库 我对硬盘中的这两个存储库进行提交 推送和拉
  • 访问图像的 Windows“标签”元数据字段

    我正在尝试进行一些图像处理 所以现在我正在尝试读取图像 exif 数据 有 2 个内置函数可用于读取图像的 exif 数据 问题是我想读取图像标签 exifread and imfinfo这两个函数都不显示图像标签 Is there any
  • 需要 TensorFlow 依赖项。如何在 Windows 上运行 TensorFlow

    我有兴趣让 TensorFlow 在 Windows 上运行 但目前我意识到这是不可能的 因为某些依赖项无法在 Windows 上使用 例如巴泽尔 之所以出现这种需求 是因为据我目前了解 从 TensorFlow 访问 GPU 的唯一方法是

随机推荐

  • 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