打開rc文件時出現“SYMBOL name too long”錯誤

在網上搜索了一下,發現以下解決方法:

引文:

網上下了一個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

發佈了38 篇原創文章 · 獲贊 5 · 訪問量 4萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章