vc++编译错误RC:致命错误RC1107:无效使用;使用 RC /?为了
Posted
技术标签:
【中文标题】vc++编译错误RC:致命错误RC1107:无效使用;使用 RC /?为了【英文标题】:vc++ compile error RC : fatal error RC1107: invalid usage; use RC /? for 【发布时间】:2012-01-18 14:50:10 【问题描述】:在构建我的 vc++ 项目时出现以下错误(使用 Visual Studio 2010)
RC:致命错误 RC1107:无效使用;使用 RC /?对于
我知道在构建资源时存在一些问题,但是如何获得确切的问题区域?
谢谢
【问题讨论】:
您使用的是 Visual Studio 2005 吗?如果是这种情况,this question on the MSDN forums 可能适用于您。 对不起,我没有提到 Visual Studio 版本,它是 VS 2010。 你从哪里得到错误?程序运行时还是编译时? 在构建目录中有一个 rc.command.x.tlog 文件,它显示了传递给 rc.exe 的参数。如果您无法整理,请在此处发布。 @Александър Александров 我在构建我的 vc++ 项目时遇到此错误。它不是在运行时。 【参考方案1】:解决方案: 在最后一个包含路径中添加一个斜杠就可以了。 如果您的最后一个包含路径末尾已经包含一个斜杠,删除它也可以。
注意:其他一些包含路径也可能导致这种情况;它不必是最后一个包含路径。特别是,检查您在项目/属性文件中添加(除了内置路径)的最后一个包含路径。
【讨论】:
感谢您让我免于头痛 特别棒! 在 VS 2017 多年后仍然正确并修复工作。谢谢 我非常喜欢这个解决方案! 2021 年 1 月 24 日这仍然是 Visual C++ 2019 中的一个错误。谢谢。【参考方案2】:我遇到了类似的问题。我解决了它从Include Directories
(来自Project Properties | Configuration Properties | VC++ Directories
)的最后一个路径中删除了尾随反斜杠。
【讨论】:
在我将 BOOST 环境变量添加到 Visual Studio 的包含路径(工具->选项->项目和解决方案->VC++ 之后,这个问题开始出现在新创建的项目上目录)。当我使用变量时,我只是在末尾添加了\.
,这似乎有效。【参考方案3】:
我从 VS2008 升级到 VS2010 时遇到了这个问题。建议的解决方案都不适合我。 对我有用的是删除配置构建文件夹中的所有文件(例如发布)并重建解决方案。
【讨论】:
【参考方案4】:我还通过从最后一个条目中删除 VS 包含路径“\”解决了这个问题。
【讨论】:
【参考方案5】:我对 VS2010 的解决方案:
click menu "Project","Properties"
打开属性页面。
click "Configuration properties", "general"
将输出目录从"$(Configuration)\ \"
更改为"$(Configuration)\"
,将目录从"$(SolutionDir)$(Configuration)\ \"
更改为"$(SolutionDir)$(Configuration)\"
.recompile 即可。
【讨论】:
【参考方案6】:我在 VS2015 和 VS2017 中都经历过。 请查看1,查看AH214的答案。
在某些情况下,资源编译器无法理解 Visual Studio 创建的 RC 命令行的选项。
要找到有问题的选项,请执行以下操作:
在VS2015中,如AH214所述,复制项目->属性->配置属性->资源->命令行中列出的命令行选项。
在您的机器上找到一些 *.rc 文件。
打开 Visual Studio 命令提示符。发出命令
RC [(1)中复制的选项] [(2)中rc文件的路径]。
您应该得到相同的 RC1107 错误。
在此属性页中检查 ...Resources -> All 的内容 选项 。查找可疑选项并修复或删除它。
重复 (4) 和 (5) 直到在 (4) 中没有出现 RC1107 错误。
一旦找到罪魁祸首,请检查是否可以更改甚至删除它 它。
【讨论】:
【参考方案7】:我在 VS 2017 中遇到了这个问题。问题是我没有注意到我将构建配置设置为 Release,并且其中一个控件中有一个字符串太长,需要被资源截断加载资源时的编辑器。将构建配置放回调试并尝试打开资源文件修复它。这次我收到一条不同的消息:字符串太长 - 被截断,现在可以查看资源。
【讨论】:
【参考方案8】:反斜杠技巧对我不起作用。但我只是在 RC 文件中添加了一个新图标,然后它对我来说一切正常。
【讨论】:
这没有提供问题的答案。一旦你有足够的reputation,你就可以comment on any post;相反,provide answers that don't require clarification from the asker。 - From Review以上是关于vc++编译错误RC:致命错误RC1107:无效使用;使用 RC /?为了的主要内容,如果未能解决你的问题,请参考以下文章
C MySQL错误“致命错误LNK1107:无效或损坏的文件:无法在0x368读取”
编辑 rc 文件,然后在 VC 对话框向导中打开它时,由于 TBS_NOTIFYBEFOREMOVE 出现错误 RC2104
致命错误LNK1107:文件无效或损坏:无法读取0x21E00D
LNK1107文件无效或损坏: 无法在 0x308 处读取 解决方案