我刚刚注意到,每当我对我的任何一个Delphi 2010项目进行增量编译(ctrl-F9)时,我的项目中引用的所有JEDI单元都会重新编译,尽管它们没有以任何方式进行更改。事实上,如果我创建一个新项目,将JEDI控件放在窗体上并编译,我会看到重新编译了所有JEDI依赖项。如果我认为在不改变我的项目的情况下再次点击ctrl-F9,也会发生同样的情况。JEDI控件总是重新编译
任何人都知道是什么原因造成的?
更新:该问题似乎与我的系统上的子目录jvcl \ run有关。每次执行Delphi编译时(即使没有触及我的项目源),此文件夹中的所有单元都会重新编译。即使编译好的dcus已存在于jvcl \ lib \ d14中,编译后的dcus也会在每个编译的子目录中找到并留下。我没有jvcl \在我的库路径上运行。另外,如果我将jvcl \ run目录移动到硬盘上的其他地方,我的项目编译并链接成功,大概在jvcl \ lib \ d14(这是我的路径)中找到了dcus。
诀窍的确是离开源出INCLUDEPATH,只有预编译DCU的。否则改变定义或触摸源文件将强制重新编译.dcu在任何地方飞来飞去(这会使后续编译复杂化) – 2010-03-19 16:30:09
我已经将这些控件安装了一段时间(几个月),而没有看到这种行为。检查我的DCU我发现jvcl \ run中的所有DCU都显示三分钟前我上次编译的日期和时间。它是该子目录中的每个单元,包括我怀疑在任何参考链中的单元 - 例如JvFormPlacement。所有其他子目录都有原始安装日期(2009年11月19日)。 – 2010-03-19 16:32:30
@Marco:jvcl \ run中的单元正在重新编译,即使这些单元是预编译在jvcl \ lib \ D14子目录中的。我最近没有对jvcl位置进行任何更改。 jvcl \ lib \ D14在我的库路径中; jvcl \ run不在我的库路径中(但它*在*我的“浏览路径”中)。有什么建议么? – 2010-03-19 16:43:52