error RC2103 : unexpected end of file in string literal

本文记录了一次使用MS2008开发MFC程序时遇到的errorRC2103错误及其解决过程。通过对比分析资源文件(test.rc)的内容,最终定位到问题出现在资源包含文件的语法错误上。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

转载地址:http://heyunhuan513.blog.163.com/blog/static/1602042201072382932663/

使用MS2008做了一个MFC的一个小程序。添加了一个resource symbol后编译的时候就出现了这个错误

error RC2103 : unexpected end of file in string literal

之前无论怎么添加symbol都不会出现错误。不知道今晚是怎么了,只要我一添加在编译就错误。

出现问题就要找到问题,找不到问题今夜怎么能睡个好觉呢?

分析:

从备份出来的程序,编译不会出现问题。我只添加了一个bmp的symbol后。就出现了这个问题,起初怀疑是我文件的格式不对。后来换了一个原来加载过的bmp文件还是会出现问题。可以排除文件错误的问题。

源码的问题不可能。因为我只是添加了bmp文件,但是对bmp文件未作任何处理,不应该出现这样的问题。

双击:error RC2103 : unexpected end of file in string literal 这个错误信息后。提示test.rc文件已经被打开。关闭后弹出来test.rc内容。仔细浏览后,由于文件内容太多,太复杂,而且还不易发现错误。最后提取出来好用的和不好用的两个文件,使用UE进行对比。最终发现错误原因。修改后build OK。

解决办法:

1.打开*.rc文件。

2.查找到最后几行。

/
//
// Generated from the TEXTINCLUDE 3 resource.
//
#define _AFX_NO_SPLITTER_RESOURCES
#define _AFX_NO_OLE_RESOURCES
#define _AFX_NO_TRACKER_RESOURCES
#define _AFX_NO_PROPERTY_RESOURCES

#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_CHS)
LANGUAGE 4, 2
#pragma code_page(936)
#include "res\test.rc2"  // 非 Microsoft Visual C++ 编辑的资源
#include "afxres.rc"     // 标准组件
#endif

1 TYPELIB "test.tlb
/
#endif    // not APSTUDIO_INVOKED

 

这个是出错的文件。

仔细查看   1 TYPELIB "test.tlb 发现少了一个"号 修改成1 TYPELIB "test.tlb"

编译后OK!

fatal error C1004是Visual Studio编译器的错误代码,它表示在编译过程中遇到了意外的文件结尾。这个错误通常是由于代码文件中存在语法错误或者缺少某些必要的代码导致的。 要解决这个问题,你可以按照以下步骤进行操作: 1. 检查代码文件的结尾:确保代码文件以正确的方式结束,即确保所有的括号、分号和引号都正确地关闭。有时候,一个遗漏的括号或分号可能会导致编译器无法正确解析代码。 2. 检查代码文件的完整性:确保代码文件没有被意外地截断或损坏。你可以尝试重新下载或复制代码文件,然后再次进行编译。 3. 检查语法错误:仔细检查代码文件中是否存在语法错误,例如拼写错误、缺少分号或括号不匹配等。这些错误可能会导致编译器无法正确解析代码。 4. 检查头文件引用:如果你在代码中使用了头文件,确保头文件的引用路径正确,并且头文件本身没有错误。 如果以上步骤都没有解决问题,你可以尝试以下方法: 1. 清除编译缓存:在Visual Studio中,选择“生成”菜单下的“清理解决方案”,然后重新编译代码。 2. 更新编译器:如果你使用的是旧版本的Visual Studio,尝试升级到最新版本,以确保你使用的是最新的编译器和工具链。 如果以上方法仍然无法解决问题,你可以尝试在编译器的错误消息中查找更多详细信息,以便更好地定位问题所在。你可以将错误消息和相关代码片段提供给我,我可以帮助你进一步分析和解决问题。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值