【问题标题】:How to correctly add resources in a rc file如何在rc文件中正确添加资源
【发布时间】:2013-08-30 11:06:32
【问题描述】:

我正在做一个我没有开始的项目,我添加了

#define IDS_SELF_UPDATE_EXIT            266

IDS_CONFIRM_EXIT        "Are you sure you want to quit?"

我两次收到以下错误:

error RC2135: file not found

我做错了什么?

【问题讨论】:

  • 您使用哪种 C++ 编译器?检查 .rc 文件的编码是否为 ANSI。您可以通过使用记事本打开您的 .rc 文件来执行后者,然后执行 File-Save As 并在“另存为”对话框中检查“Encoding”是否为“ANSI”。
  • 这类文件有资源编辑器,为什么还要手动编辑文件?
  • 忘记另一个 stackoverflow 问题中的 DIALOGEX 内容。这可能完全不相关。
  • 编码是 UTF-8 并且更改为 ANSI 可以解决问题,但它也会将文件中的特殊字符更改为奇怪的重音字符。我检查了文件的旧版本,从它工作的时候开始,编码也是 UTF-8。我恢复到旧版本,但它仍然无法正常工作。我正在使用 Visual Studio 2010。
  • 您是如何将编码从 UTF-8 更改为 ANSI。哪些特殊字符已更改为奇怪字符。举个例子吧。

标签: windows visual-c++ mfc resource-files


【解决方案1】:

您似乎正在尝试创建stringtable resource。正确的语法是

STRINGTABLE
BEGIN
  IDS_CONFIRM_EXIT        "Are you sure you want to quit?"
END

【讨论】:

  • 我试图将另一个字符串添加到字符串表中,但我做得不对。我没有使用 VS 提供的资源文件编辑器来编辑资源文件,而是在 VS 中手动编辑它,作为一个普通的源文件。我遇到的另一个问题是键盘的语言设置使用的编码与资源文件中的不同。
  • 您引用的错误消息表明您将该行放在文件的顶层,在 stringtable 的 BEGIN/END 块之外。这不是发生了什么吗?另外,IDS_SELF_UPDATE_EXIT 宏对这种情况有什么影响?你为什么展示它?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-07-17
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-10-13
相关资源
最近更新 更多