我试图在我的一个软件包中使用EXIF库。之前有用,但现在我收到了一些奇怪的信息:
[DCC致命错误] F2051单位GIFImg是用不同的编译的 CCR.Exif.Consts.SOutOfResources的版本
我真的不明白......为什么Delphi会尝试重新编译其中一个文件?我该如何解决这个问题?
GifImg位于:
c:\ Program Files \ Embarcadero \ RAD Studio \ 8.0 \ source \ vcl \ GIFImg.pas
更新
我查看了该文件的日期(1个PAS和2个DCU),它与RAD Studio \ 8.0 \ source \ vcl文件夹中的任何其他文件具有相同的日期。因此,该文件未被意外修改。
UPDATE2:
这是我的使用条款:
USES Windows, SysUtils, AnsiStrings, Graphics, Dialogs, Classes, jPeg,
pngImage,
janFX, //CCR.Exif,
{$IFDEF VER150}
GIFImageFinn {Delphi 7}
{$ELSE}
GIFImg {Delphi 2010/XE}
{$ENDIF}
;
如果我评论CCR.EXIF单元,它会开始编译我的包。因此,将EXIF添加到我的包中会破坏一些东西。
答案 0 :(得分:1)
您报告的内容并不完全相加。作为Delphi源代码的GIFImg
单元不引用CCR.Exif.Consts.SOutOfResources
。 GIFImg
使用的单位都没有引用它。
所以对我来说似乎合理的解释是:
GIFImg
的单元。根据我的经验,当您尝试重新编译RTL / VCL单元但未能将项目选项设置为与真实RTL / VCL使用的项目选项匹配时,通常会发出错误消息F2051
。或者,当您重新编译在其接口部分中有修改的RTL / VCL单元时,它将被发出。
答案 1 :(得分:0)
解决:
我删除了文件名中的圆点。 CCRExif而不是CCR.Exif。
那是一个讨厌的人。