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

Nig*_*4de 0 c++ resources winapi compiler-errors

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

在数字常量之前预期的nonqualified-id

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

我的resource.h文件:

#define IDI_MYICON 201
Run Code Online (Sandbox Code Playgroud)

我的resource.rc文件:

#include "resource.h"

IDI_MYICON ICON "star.ico"
Run Code Online (Sandbox Code Playgroud)

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

#include <windows.h>
#include "resource.h"
#include "resource.rc"
Run Code Online (Sandbox Code Playgroud)

Rem*_*eau 5

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

  • C++是一种多阶段语言.对源文件进行预处理以解析预编译器宏,然后将生成的代码编译为中间文件,然后将这些文件链接在一起以生成最终的可执行文件. (2认同)