我正在尝试移植一个几年前用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
我不知道该怎么解决这个问题。Google针对这个错误提出的一个结果是windres本身的源代码转储和补丁。
有什么想法吗?
发布于 2014-10-06 18:09:59
我发现了..。问题不在于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就可以解决这个问题。(我一到家就试一试……)
https://stackoverflow.com/questions/26212818
复制相似问题