1

在将我的视觉工作室项目中资源元素的语言从英语更改为阿塞拜疆时,我收到此错误:

错误 RC2144:主语言 ID 不是数字

那行是:

LANGUAGE LANG_AZERI_CYRILLIC, SUBLANG_AZERI_CYRILLIC

这里发生了什么事?

// Microsoft Visual C++ generated resource script.
//
#include "resource.h"
#include <windows.h>
#define APSTUDIO_READONLY_SYMBOLS
/////////////////////////////////////////////////////////////////////////////
//
// Generated from the TEXTINCLUDE 2 resource.
//
#ifndef APSTUDIO_INVOKED
#include "targetver.h"
#endif
#include "winres.h"
4

4 回答 4

4

该错误是因为资源设计器使用了winres.h中定义的常量(语言 ID) ,但winres.h未包含在资源文件中。

将此行添加到 resource.rc(以文本形式查看代码,而不是从对话框编辑器中查看代码),这将解决问题:

#define APSTUDIO_READONLY_SYMBOLS
#include <winres.h>
#undef APSTUDIO_READONLY_SYMBOLS

PS:您还需要定义APSTUDIO_READONLY_SYMBOLS以保留包含 winres.h,因为 Visual Studio 将始终删除#include

于 2015-07-07T05:43:29.607 回答
2

只需添加#include <windows.h>到您的 resources.rc 文件。有时不会生成该行。

这很蹩脚,我知道。

于 2013-09-16T16:24:10.173 回答
1

解决方案是将LANGUAGE LANG_AZERI_CYRILLIC, SUBLANG_AZERI_CYRILLIC资源文件中的行更改为此处LANGUAGE LANG_AZERI, SUBLANG_AZERI_CYRILLIC定义的行。似乎 Visual Studio 错误地生成了该代码。

于 2013-09-17T15:23:04.543 回答
1

使用 Visual Studio 2015 编辑资源时,这些行总是被覆盖。要在 Visual Studio 2015 中添加此项,请执行以下操作:

  1. 转到“资源视图” Ctrl+Shift+E
  2. 右键单击resource.rc 文件并选择resourceincludes
  3. 添加到写保护符号:

    #include “winres.h”

于 2019-06-09T08:36:18.070 回答