使用资源文件进行C ++编译时出错

时间:2012-09-12 14:50:06

标签: c++ winapi resources compiler-errors

好吧所以我创建了一个运行良好的C ++ Win32程序。然后我想使用自定义图标,所以我创建了一个“resource.h”文件和一个“resource.rc”文件,我#include'将它们都放在我的C ++源文件中。但是在编译时我得到第3行的以下错误:

  

在数字常量之前预期的非限定id

我做错了什么?我忘记了什么吗?

我的resource.h文件:

#define IDI_MYICON 201

我的resource.rc文件:

#include "resource.h"

IDI_MYICON ICON "star.ico"

最后我的C ++ Win32文件的前三行(有问题的那一行):

#include <windows.h>
#include "resource.h"
#include "resource.rc"

2 个答案:

答案 0 :(得分:5)

您不应该将.rc文件包含在源代码中,只包含.h文件。您应该使用开发环境的资源编译器将.rc文件单独编译为.res文件,然后将.res文件链接到最终的可执行文件中。

答案 1 :(得分:3)

您不会将.RC个文件包含在C ++文件中。您使用RC.EXE(资源编译器)编译它们。这会生成一个.RES文件,您可以将该文件与其他.OBJ文件一起提供给链接器。