2013-09-16 27 views
0

而改變我的Visual Studio項目的資源要素的語言從英語到阿塞拜疆我收到此錯誤:VS 2008的資源類型的錯誤而改變語言

error RC2144 : PRIMARY LANGUAGE ID not a number

和該行是:

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" 

回答

1

解決方法是將LANGUAGE LANG_AZERI_CYRILLIC, SUBLANG_AZERI_CYRILLIC行從資源文件更改爲LANGUAGE LANG_AZERI, SUBLANG_AZERI_CYRILLIC,如here所定義。 這似乎是視覺工作室錯誤地生成該代碼。

2

該錯誤是因爲使用常數(語言ID)在定義winres.h資源設計師,但winres.h沒有在資源文件中包括在內。

(從對話框編輯器視圖代碼爲文本,而不是)中加入這一行RESOURCE.RC,這將解決該問題:

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

PS:你也需要定義APSTUDIO_READONLY_SYMBOLS保持包括winres因爲Visual Studio將一直保持刪除#include

+0

隨着Visual Studio 2015,我不得不將這些行添加到'resource.h',因爲他們保留從'.rc'文件中刪除。 – Malvineous