Visual Studio 编译C++时出现 error RC2144: PRIMARY LANGUAGE ID not a number

最近在用VS编译Qt项目时,为rc资源文件添加了版本信息后就编译不通过了,编译输出提示错误:

error RC2144: PRIMARY LANGUAGE ID not a number

在网上搜索后发现大多数的解决方法是在rc文件中添加如下一行include语句:

#include "winres.h"

这么做确实能解决error RC2144的问题。但问题是,VS的rc文件其实是无法手动修改的,因为手动修改后,只要使用VS的“资源视图”修改了资源文件,则手动的改动会被改回去,又会出现error RC2144的问题,如果在每次修改了资源后手动添加inclue语句那就太麻烦的。

其实这个问题正确的解决办法是这样的:

按Ctrl+Shift+E打开“资源视图”,展开资源文件所在的项目,在资源文件上点击鼠标右键,选择“资源包括”命令。如下图所示:

 在弹出的“资源包括”对话框中的“只读符号指令”中添加:

#include "winres.h"

如下图所示: 

点击确定后,再生成项目,就不再出现error RC2144错误了。

此时可以发现rc文件中多出来了以下几行代码:

#define APSTUDIO_READONLY_SYMBOLS
/
//
// Generated from the TEXTINCLUDE 2 resource.
//
#include "winres.h"
/
#undef APSTUDIO_READONLY_SYMBOLS

 

  • 4
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值