【QT】pro文件里添加又删除LIBS不影响运行的原因

这篇具有很好参考价值的文章主要介绍了【QT】pro文件里添加又删除LIBS不影响运行的原因。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

我发现个问题啊,如果运行项目,发现报错,缺少某dll,接着你在pro文件里加上win32:LIBS += -lOpengl32(举个例子),接着可以运行了,接着把这行删掉,再运行,仍然可以,后续是不影响的。

但是当你把build文件夹删掉的时候,再次运行,就会出现同样的错误,gpt说是因为makefile已经存在了,已经找到了位置,后续并没有重新生成,经过我测试,发现还真是这样的。

  • 除非你删掉build文件夹再运行,否则就发现没变动 【QT】pro文件里添加又删除LIBS不影响运行的原因,openGL,qt,开发语言

当你在Qt项目的.pro文件中添加win32:LIBS += -lOpengl32,然后成功构建项目后,这行配置指示链接器在Windows平台上链接到OpenGL库Opengl32.lib。这个库提供了OpenGL的标准函数实现,对于使用OpenGL功能的应用程序是必需的。当你首次添加这行配置并构建项目时,qmake会生成相应的Makefile,其中包含了链接到Opengl32.lib的指令。这使得项目能够找到OpenGL的实现,因此可以成功运行。

如果你在之后把这行配置删除,但没有删除构建目录(即build文件夹),然后重新构建项目,实际上并不会重新生成Makefile(因为qmake认为没有必要),或者生成的Makefile仍然包含之前的配置缓存,因此链接到Opengl32.lib的指令依然生效。这就是为什么删除那行配置后项目仍然能够运行的原因。

当你完全删除构建目录后再次构建项目,qmake会根据当前的.pro文件内容从头开始生成新的Makefile。由于此时.pro文件中已经不包含win32:LIBS += -lOpengl32这行配置,新生成的Makefile中不会包含链接到Opengl32.lib的指令,导致链接器无法找到OpenGL的实现,因此项目无法运行。

解决方案

为了确保项目能够稳定运行,如果你的项目确实依赖于OpenGL库,建议在.pro文件中保留win32:LIBS += -lOpengl32这行配置。这样,无论何时重新构建项目,无论是否删除了构建目录,项目都能够找到并链接到必需的OpenGL库。

此外,理解Qt构建过程和构建系统如何处理项目文件中的配置对于解决此类问题很有帮助。记住,每次更改.pro文件后,最好是清理(Clean)然后重新构建(Rebuild)项目,确保所有的配置更改都能正确反映到Makefile和最终的构建产物中。文章来源地址https://www.toymoban.com/news/detail-851216.html

到了这里,关于【QT】pro文件里添加又删除LIBS不影响运行的原因的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Qt 工程 pro文件

    工作中,感觉pro文件的有些内容真不太懂,现系统性的学习一下。于此备录,分享共勉。 为了更好的理解,先创建一个简单的工程作为实践。 【1】创建一个pro文件 1.1 新建proDemo工程。步骤如下:Qt Creator---New Project---应用程序---Qt Widgets Application---名称为:proDemo(创建路径自

    2024年02月04日
    浏览(24)
  • iptables 添加,删除,查看,修改,及docker运行时修改端口

    [root@linux ~]# /etc/init.d/iptables start   当我们用iptables添加规则,保存后,这些规则以文件的形势存在磁盘上的,以centos为例,文件地址是/etc/sysconfig/iptables,我们可以通过命令的方式去添加,修改,删除规则,也可以直接修改/etc/sysconfig/iptables这个文件就行了。 1,添加filter表

    2024年02月15日
    浏览(39)
  • Windows系统中丢失opengl32.dll文件导致程序无法运行问题

    其实很多用户玩单机游戏或者安装软件的时候就出现过这种问题,如果是新手第一时间会认为是软件或游戏出错了,其实并不是这样,其主要原因就是你电脑系统的该dll文件丢失了或没有安装一些系统软件平台所需要的动态链接库,这时你可以下载这个opengl32.dll文件(挑选合适

    2024年02月12日
    浏览(61)
  • Qt的pro文件demo

    2024年01月17日
    浏览(29)
  • Macbook Pro 笔记本迁移新电脑,备份、文件、删除步骤

    最近电脑损坏,需要跟换新电脑,跟换的过程遇到一些问题,记录了一下,避免下次重蹈覆辙。 1. 数据迁移 2. 信息删除 3. 软件卸载 4. 备份文件 5. 提示 一、数据迁移 将原来电脑上的文件迁移到新的电脑上,Mac book 上有一个比较方便的软件 “隔空投送”,需要打开蓝牙

    2024年02月09日
    浏览(53)
  • Qt pro 文件中路径设置 生成可执行文件路径

         工程文件.pro描述了工程信息。工程文件信息会被qmake用于生成包含构建过程中所需的所有命令的MakeFile。工程文件通常包含一系列头文件和源文件,通用配置信息以及程序指定的细节,如应用程序的链接库、搜索路径。   目录 头文件包含路径: 指定目标文件的路径 指

    2024年02月12日
    浏览(29)
  • Qt之pro、pri、prf、prl文件简解

    QT工程的pro文件,在创建工程时由QTCreater自动创建,我们可以往里面添加内容,增加库文件的声明,包含路径、预处理器定义,生成目录,输出中间目录等等设置。 注释: 以“#”开始,到这一行结束,快捷键:Ctrl+/ CONFIG:指定编译器选项和项目配置,值由qmake内部识别并具有特

    2024年02月03日
    浏览(29)
  • Git—文件添加查看删除修改

    目录 1.添加文件—场景一 2.查看.git文件 3.添加文件—场景三 4.修改文件 5.版本回退 6.撤销修改 7.删除文件 在包含.git的目录下新建⼀个ReadMe文件,我们可以使用 git add 命令可以将文件添加到暂存 区: ●添加一个或多个文件到暂存区: git add [file1] [file2] ●添加指定目录到暂存

    2024年02月05日
    浏览(32)
  • Device or resource busy错误,原因是文件或资源正在被占用,无法删除

    根据错误日志,出现了java.nio.file.FileSystemException: Device or resource busy错误,原因是文件或资源正在被占用,无法删除。 解决这个问题的方法有几种: 等待资源释放:如果该文件或资源正在被其他进程或线程使用,您可以等待一段时间,让资源释放后再尝试删除。您可以在代码

    2024年02月12日
    浏览(35)
  • Windows注册表脚本文件(简介、添加、修改、删除)

    我们平时大多采用Regedit注册表编辑器来实现对注册表的修改操作,但是这种手工操作费时费力,当你要对多台PC统一修改注册表时,就要怨念了。并且在某些情况下,如果注册表编辑器被禁用了,那么这种方法也会失效。于是,推荐大家使用REG文件来快速完成注册表的修改。

    2024年02月04日
    浏览(40)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包