当前位置: 首页 > news >正文

VS BUG(6) LINK : fatal error LNK1158: 无法运行“rc.exe”

VS BUG(6) LINK : fatal error LNK1158: 无法运行“rc.exe”

  • 前言
  • 一. BUG提示
  • 二. 分析解决
  • 三. 小结

前言

程序员难免要与BUG打交道,本系列将记录自己在VS平台下代码调试过程中遇到的一些BUG,希望对大家遇到相关问题时,可以提供帮助。这个是最近经常遇到的一个比较简单的链接器问题,每次配置都出现这个

一. BUG提示

1>------ 已启动全部重新生成: 项目: project1, 配置: Debug x64 ------
1>  Moc'ing project1.h...
1>  Uic'ing project1.ui...
1>  Rcc'ing project1.qrc...
1>  moc_project1.cpp
1>  main.cpp
1>  project1.cpp
1>  正在生成代码...
1>  qrc_project1.cpp
1>LINK : fatal error LNK1158: 无法运行“rc.exe”
========== 全部重新生成: 成功 0 个,失败 1 个,跳过 0==========

二. 分析解决

在进行qt的工程开发应用中,调试时出现上述报错。初步分析应为链接错误,但经找到对应的rc.exe文件路径后,复制该路径添加到包含目录以及运行目录,均仍报错
在这里插入图片描述

查询资料发现可尝试在
在这里插入图片描述

1>------ 已启动全部重新生成: 项目: project1, 配置: Debug x64 ------
1>  Moc'ing project1.h...
1>  Uic'ing project1.ui...
1>  Rcc'ing project1.qrc...
1>  moc_project1.cpp
1>  main.cpp
1>  project1.cpp
1>  正在生成代码...
1>  qrc_project1.cpp
1>  project1.vcxproj -> D:\HIT\2025\202504\20250407-20250412\2_DY\project1\x64\Debug\project1.exe
========== 全部重新生成: 成功 1 个,失败 0 个,跳过 0==========

本工程是基于VS2015进行应用,首先右键项目-》属性-》链接器-》清单文件-》将“是”更改为“否”,再进行生成调试,中如下图所示
在这里插入图片描述
运行成功,问题解决。

三. 小结

rc.exe是Windows SDK中的一个工具,用于生成资源文件(.res)。这些资源文件通常包含应用程序的图标、菜单、对话框等。在Visual Studio 2015的C++项目构建过程中,rc.exe会被调用来编译资源文件(.rc)为资源二进制文件(.res),然后这些资源文件会被链接到最终的可执行文件中。

在使用Qt开发上位机应用程序时,Qt有自己的资源管理系统。Qt使用.qrc文件来管理资源,这些文件在构建过程中由Qt工具处理,而不是使用VS的rc.exe。

当项目同时配置了VS的资源编译系统和Qt的资源管理系统时,可能会出现冲突。具体来说,VS的构建系统可能会尝试使用rc.exe编译.rc文件,但由于某些原因(如路径问题、文件缺失等),rc.exe无法正常运行,从而导致构建失败。

将生成清单中的"是"改为"否",实际上可能是禁用了VS默认的资源编译系统,转而完全依赖Qt的资源管理系统。这样,构建过程将不再尝试调用rc.exe,从而避免了无法运行的问题。希望本文可以帮助到大家解决这个BUG。

相关文章:

  • 用 C 语言实现通用的冒泡排序算法
  • UNO Less-to-More Generalization: 通过上下文生成解锁更多可控性
  • 使用UltraSigma给普源RIGOL示波器截图的方法
  • 基于 Python 的自然语言处理系列(86):DPO(Direct Preference Optimization)原理与实战
  • 【信息系统项目管理师】高分论文:论质量管理和进度管理(智慧旅游平台建设项目)
  • HBase协处理器深度解析:原理、实现与最佳实践
  • 基于FFmpeg命令行的实时图像处理与RTSP推流解决方案
  • 使用java代码注册onloyoffice账号 || 注册onloyoffice账号
  • vue中 vue.config.js反向代理
  • 计算机网络 | 应用层(3)-- 因特网中的电子邮件
  • 使用银行卡二要素API让支付更加安心
  • 北斗导航 | Transformer增强BiLSTM网络的GNSS伪距观测量误差探测
  • B. And It‘s Non-Zero
  • 提示词的神奇魔力——如何通过它改变AI的输出
  • 免费送源码:Java+ssm+HTML 三分糖——甜品店网站设计与实现 计算机毕业设计原创定制
  • springboot + mybatis 需要写 .xml吗
  • Java—— 五道算法水题
  • 力扣热题100题解(c++)—链表
  • 架构师备考-设计模式23种及其记忆特点
  • 【虚幻C++笔记】碰撞检测
  • 永辉超市一季度净利降近八成,未来12个月至18个月是改革成果集中释放期
  • 中青报:“猿辅导员工猝死”事件上热搜,是对健康职场环境的共同关切
  • 为何不当教练转型高校管理岗?苏炳添曾吐露过真实的想法
  • 今年一季度全国结婚登记181万对,较去年同期减少15.9万对
  • 央行25日开展6000亿元MLF操作,期限为1年期
  • 中国天主教组织发唁电对教皇去世表示哀悼