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 处读取 解决方案

我在VS2010里写的代码能成功运行,但是用VS2017RC打开源代码就有很多错误

Android Studio 1.0 RC 4 构建错误