1

我在我的C++ Builder项目中有一个资源脚本。过去6年一直如此,编译时从未抱怨过。C++ Builder XE2:资源编译“分配失败”

今天突然我每次尝试编译时都会得到"resource.rc(4):Allocate failed"。我试图重新出发并做一个干净的事情。还是一样的错误。这是我的资源脚本:

//------------------------------------------------------------------- 
// DOCUMENT ICONS 
// 
IDI_DOCUMENT0 ICON  "Documents\\Pictures\\IDI_APPLICATION.ico" 
IDI_DOCUMENT1 ICON  "Documents\\Pictures\\IDI_DOCUMENT2.ico" 
IDI_DOCUMENT2 ICON  "Documents\\Pictures\\IDI_DOCUMENT3.ico" 

//------------------------------------------------------------------- 
// CUSTOM CURSORS 
// 
IDC_DELETE CURSOR  "Documents\\Pictures\\IDC_DELETE.cur" 
IDC_ADD  CURSOR  "Documents\\Pictures\\IDC_ADD.cur" 
IDC_MOVE  CURSOR  "Documents\\Pictures\\IDC_MOVE.cur" 

它失败的第一个项目IDI_APPLICATION.ico,如果我删除它编译。这很奇怪,因为它在6年内没有改变,现在突然它不会编译。这个特殊的图标文件的大小是201KB,另外两个是每个158KB,3个游标是每个8KB。当你添加所有的upp时,它看起来像通过了神奇的边界512KB,但是,嘿,资源部分可以比这个大得多?

回答

1

我发现问题是什么。看起来像C++ Builder XE2不支持压缩的256x256图标(在任何地方都没有发现这个确认)。当我在没有压缩的情况下重新生成图标时,它会再次编译。

我不知道为什么这个突然发生,但我并不感到惊讶。自Embarcadero接手C++ Builder以来,质量一直处于稳定的下降趋势......