2014-10-06 65 views
0

我试图移植多年前在Borland C++ 5.0中编写的应用程序,以便能够使用MinGW进行编译。对于非VIRTKEY“错误修饰符”错误意味着什么?

我整理出来的大部分问题,但我有一个RC文件的问题:

Windres抱怨在以下加速器表中的这些条目:

menu ACCELERATORS 
{ 
    VK_DELETE,  CM_KILL_YOUR_UNIT, VIRTKEY 
    ".",   CM_FOLLOWMODE, ASCII 
    VK_TAB,  CM_IDLEGATHERSHIP, VIRTKEY 
    "s",   CM_STOP, ASCII 
    "T",   CM_TRIBUTE, ASCII, CONTROL 
    "f",   CM_FLUENTTRAINING, ASCII 
    "k",   CM_NEXTUNIT, ASCII 
    VK_F10,  CM_FOLLOWSTRONGEST, VIRTKEY, CONTROL 
} 

(我剥离出来没有关系的条目“T抱怨)

的错误是:inappropriate modifiers for non-VIRTKEY

我不知道该做些什么来解决这个问题。谷歌出现这个错误的结果之一就是windres本身的源代码转储和补丁。

任何想法?

回答

0

我发现了......问题不在windres抱怨的行中,而是在他们上面的一行。

更具体地说:

"F",   CM_FRIENDORFOECOLORS, ASCII, CONTROL 
"S",   CM_SAVEGAME, ASCII, CONTROL 
"C",   CM_CHANGEPLAYER, ASCII, CONTROL 
"L",   CM_LOADGAME, ASCII, CONTROL 
"B",   CM_BGM, ASCII, CONTROL 
"A",   CM_STATSWND, ASCII, CONTROL 
"E",   CM_FXSOUND, ASCII, CONTROL 

显然,这不是有效的改性剂添加到ASCII加速器。

MSDN还表示:

的整数值表示的虚拟键。 字母数字键的虚拟键可以通过将大写字母或 号码放在双引号(例如“9”或“C”)中来指定。参数类型 必须是VIRTKEY。

所以可能只是简单地改变类型为VIRTKEY应该可以解决这个问题。 (我会试一试,一旦我回家......)

相关问题