打开rc文件时出现“SYMBOL name too long”错误

26 篇文章 0 订阅

在网上搜索了一下,发现以下解决方法:

引文:

网上下了一个VC2008的源码,用VS2008打开,查看资源的时候报错:

rcxdti.dll is unable to load rcxdtiui.dll
You may be unable to edit Win32 Resourses.

这个错误让我坠入云里雾里rcxdti.dll和rcxdtiui.dll我的系统中有,且位置正确,为什么会不能加载呢?

后来查询之后,发现VS2008的一个bug,就是VC的配置路径的问题:

To fix the problem, I made a minor change to the include paths in the IDE.

Tools -> Options -> Projects and Solutions -> VC++ Directories

Show directories for: Include files

I Added a slash to my last path, so "P:/" became "P://". Ok the changes and the problem went away. :-)

这里答复指明一个关键所在,就是VC的配置路径有点问题,但这个方法并不完全正确,其实是多了一个/,而不是少了,我把

 VC++ Directories中所有Include files的路径后面的/去掉之后,错误提示信息更明确化了

C:/Program Files/Microsoft SDKs/Windows/v6.0A//
Include/PrSht.h(0)

error RC2247 : SYMBOL name too long

注意这里的//
,这说明include files的路径仍有问题

查看include files
$(WindowsSdkDir)/include  ---这里多了一个/,其实$(WindowsSdkDir)是会在后面带一个/的,所以这里的/是多余的。

把这个斜杠去掉,还是没有解决问题,但是提示的信息更明确了,从RC2247的错误查到了最终的解决方法:

这个是rc文件配置的问题,从旧版本的VS工程转为2008时,aps文件不见了

所以在rc的文件头开始处添加(当然是在#include "resource.h"下面了):

#define APSTUDIO_HIDDEN_SYMBOLS
#include "windows.h"
#include "prsht.h"
#include "wtypes.h"
#undef APSTUDIO_HIDDEN_SYMBOLS

然后注释掉:

//#define APSTUDIO_READONLY_SYMBOLS

保存后重新打开sln,资源可以用了!!!aps文件也有了!!!问题解决了!!!

我用查看代码的方式查看rc文件,发现没有
<pre name="code" class="plain"><pre name="code" class="plain">#define APSTUDIO_HIDDEN_SYMBOLS
...

 
#undef APSTUDIO_HIDDEN_SYMBOLS
 

这些代码,于是手工在rc文件中加上一句:

#define APSTUDIO_HIDDEN_SYMBOLS
OK。解决文题。

原文地址:http://blog.csdn.net/andoring/article/details/6433895

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值