我刚刚注意到,每当我对我的任何 Delphi 2010 项目进行增量编译 (ctrl-F9) 时,我的项目中引用的所有 JEDI 单元都在重新编译,尽管它们没有以任何方式进行更改。事实上,如果我创建一个新项目,在表单上放置一个 JEDI 控件并进行编译,我会看到所有 JEDI 依赖项都被重新编译。如果我认为再次按 ctrl-F9 而不对我的项目进行任何更改,则会发生同样的事情。
有谁知道这是什么原因造成的?
更新:问题似乎与我系统上的子目录 jvcl\run 有关。每次我进行 Delphi 编译时,这个文件夹中的所有单元都会重新编译(即使没有接触我的项目源代码)。每次编译时,已编译的 dcus 都会在此子目录中获取和保留,即使已编译的 dcus 已存在于 jvcl\lib\d14 中。我的库路径上没有 jvcl\run。
此外,如果我将 jvcl\run 目录移动到硬盘上的其他位置,我的项目将成功编译和链接,大概是在 jvcl\lib\d14 (在我的路径上)中找到了 dcus。