我正在尝试移植多年前在Borland C ++ 5.0中编写的应用程序,以便能够使用MinGW进行编译。
我解决了大部分问题,但我遇到了一个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
}
(我删除了它没有抱怨的条目。)
错误是:inappropriate modifiers for non-VIRTKEY
我不知道如何解决这个问题。一个结果谷歌出现这个错误的是源代码转储和补丁本身。
有什么想法吗?
答案 0 :(得分: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即可解决问题。 (一旦我回到家,我会尝试一下......)