在错误消息中看到 %InstallDir% 可能是一个线索。您的解决方案中有安装和部署项目吗?它是否在您的 FooPDA 项目之前构建?在obj中看到它也很可疑。
OP 编辑:你在正确的轨道上,所以我会相信你的答案。事实证明,当您进行重建时,Visual Studio 2005 编译器非常愚蠢,因为它在遇到无法编译的项目时不会停止。它只是继续编译和抛出错误。
这个特定的解决方案包含三个项目。我们称它们为FooPDA、PDAComponents 和Setup。我更改了项目 FooPDA 上的图标,解决方案将不再编译。我所关注的错误与实际问题无关。我应该专注于我在进行初始构建时看到的错误,即:
CVTRES:致命错误 CVT1103:无法读取文件
我基本上把它搞砸了,并立即进行了重建。就在那时,我发布的错误出现在错误列表的顶部,我被它吸引住了。我不应该的。我最初发布的错误是由于 FooPDA 没有编译,所以 FooPDA.exe 在编译安装项目时不可用。更改图标时 FooPDA 无法编译的原因是我尝试添加的 .ico 文件包含不兼容的图标大小和/或颜色深度. 显然紧凑框架(或目标平台,PocketPC 2003?)只了解其中的某些内容。我试图添加的 .ico 文件中嵌入了各种尺寸和颜色深度(一直到 256x256 @32 位)。我查看了最初存在的 .ico 文件,它只有两个 48x48 图标。一个 24 位颜色和一个 8 位。我在图标编辑器中打开了我的新 .ico 文件,并对其进行了修改,使其包含与原始文件相同的大小和颜色深度,并且一切都再次与世界保持一致。解决方案现在使用新图标编译,没问题。
On the one hand, I feel kind of foolish for not figuring this out (I finally asked a coworker who had encountered this before). On the other hand, what the f**k does "CVTRES: fatal error CVT1103: cannot read file" tell me? Nothing! What's wrong with "Error: incompatible icon"?