提问人:alancc 提问时间:9/30/2023 更新时间:9/30/2023 访问量:12
特殊的语言常量使 .RC 文件不可编辑
Special language constants make the .RC file uneditable
问:
我正在使用 VS2008。
我使用 Soluling 来翻译包含一些字符串表的 Test.RC 文件,它生成一些特殊语言的常量,例如 LANG_HINDI,这些常量在 Windows 工具包中定义,例如
C:\Program Files (x86)\Windows Kits\8.1\Include\shared\ntdef.h
因此,我创建了一个头文件 LangConsts.h 来包含这些常量。
然后在 Test.RC 文件中,我添加以下行:
#include "LangConsts.h"
因此,Test.rc 可以在 VS2008 中成功打开,特殊语言将被识别如下:
并且该文件可以在项目中成功编译和链接。
但是,每当我修改资源时,例如更改版本号并保存资源文件,VS2008 都会尝试重新保存所有字符串表。
然后当我尝试重建项目时,我会得到很多错误:
>.\ResDLL.rc(9786) : error RC2144 : PRIMARY LANGUAGE ID not a number
1>.\ResDLL.rc(9794) : error RC2135 : file not found: STRINGTABLE
1>.\ResDLL.rc(9796) : error RC2135 : file not found: M
1>.\ResDLL.rc(9798) : error RC2135 : file not found: 64
然后我打开 ResDLL.rc 并检查它有什么问题,发现 VS2008 只是删除了以下行:
#include "LangConsts.h"
第 9786 行包含一个语言常量:
LANGUAGE LANG_AZERI_LATIN, SUBLANG_AZERI_LATIN
仅在 LangConsts.h 中定义。
那么如何防止VS2008损坏.RC文件?
答: 暂无答案
评论