RC1004错误求助:resource.h文件意外遇到文件尾问题
解决RC1004:意外遇到文件结尾错误
问题描述
- 用十六进制编辑器检查文件,未发现异常字符
- 尝试多种方案均无效
- .h 和 .rc 文件均采用 Windows 代码页 1252 编码
- 新建项目后仍触发相同错误
涉及代码
resource.h
#ifndef RESOURCE_H #define RESOURCE_H #define ENCRYPTED 1001 #endif
resource.rc
#include "resource.h" LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US ENCRYPTED RCDATA "encrypted.bin"
错误提示
级别 代码 描述 项目 文件 行 抑制状态 详情 错误 RC1004 意外遇到文件结尾 Stub C:\Users\pseud\source\repos\Example\Example\resource.h 6
排查与解决建议
修正换行格式:RC编译器对换行格式敏感,确保所有相关文件使用CRLF(Windows标准换行)。可通过编辑器(如VS Code)右下角查看当前换行格式,切换为CRLF后重新保存文件。
检查BOM标记:虽然使用Windows 1252编码,但如果编辑器误添加了UTF-8 BOM(十六进制开头为
EF BB BF),会导致RC解析异常。用十六进制编辑器确认文件开头无此标记,若有则删除。确认资源文件存在:RC中引用的
encrypted.bin必须存在于正确路径下(与RC同目录或使用完整路径),文件缺失可能引发解析错误。清理项目缓存:删除项目的
obj、bin目录及.vs隐藏文件夹,重新生成项目,避免缓存文件干扰编译流程。更新编译器环境:确保Visual Studio及RC编译器为最新版本,旧版本可能存在已知的解析bug,更新后可解决问题。
内容的提问来源于stack exchange,提问作者user23472212
相关产品推荐
相关产品推荐

