应该"库路径"指向包的源文件吗?Delphi 7文档说是.但其他人说不:""库"路径应该导致编译文件(.dcp,.dcu)和(如果需要)资源文件(.res,.dfm)".
更新:
问题是如果你不在"库路径"中添加包的路径,那么每次创建一个新的DPR项目时,你必须手动收集包的路径(很多)并将它们输入到项目的选项"浏览"框,否则你将得到"找不到文件xxx.dcu".听起来不太好听.多年来,我曾经在库中添加所有路径,并且每次创建新项目时都不必手动添加路径.
关于设置路径和官方文档为0时,Delphi 7是如此混乱.:(
更新:
我做了改变.它可以工作,但它甚至不是完美的(或至少是优雅的):如何在使用具有非特定库路径的Delphi时删除重复资源(RES,DFM)?
您指向库路径的位置不是指向编译文件(dcu/dcp文件和exe/bpl文件)的输出路径的位置的一半.
每个项目都应该有自己的输出路径.如果这样做,那么即使您将库路径指向源文件,二进制文件也将位于项目特定的文件夹中,因此永远不会干扰其他项目.
使用全局(环境选项)库路径时要小心.我的实际上是空的.甚至没有像$(BDS)\ Lib这样的标准Delphi文件夹.为什么?因为它确保每个项目都需要在dproj中显式地依赖库.这意味着您可以加载和构建需要同一库的不同版本的项目,而不会出现错误,因为您的环境路径指向的库版本不同于项目所需的版本.这在调试时也有很大帮助,因为调试器将始终使用项目所需的版本,而不是全局环境路径所指向的版本.
如果您的任何库都具有可视组件,则您仍然不需要它们在全局环境路径上.您只需要确保IDE使用您最常用的版本中的bpl.这是否是旧的无关紧要(除了它可能导致dfm的内容发生变化这一事实,但源版本控制应该有帮助).您只需要IDE中的bpl,以便在加载表单时不会对您进行barf.实际上我的IDE通常没有安装任何第三方组件(即使项目使用它们),但是我没有做很多dfm工作,当我需要在表单的pas文件中更改代码时我只告诉IDE忽略所有错误(但保留表单单元中的引用!)并将任何更改还原为dfm'
哦,我总是从源代码编译.这样,如果我得到一个库中的单个文件的补丁,我不必经历整个安装过程,我甚至不必重新编译组件包.我可以简单地将更新的源文件放在正确的文件夹中,并继续发生任何事情.
另外,我在所有项目中都使用相对路径.我知道有些人遭受了这种痛苦,但我从未遇到过问题.可能是因为我从不在Windows资源管理器中双击打开任何文件,但总是从IDE中或者可能通过从资源管理器中拖放来查看(以前版本的)文件而不使其成为项目的一部分.相对路径使得负载和负载更容易制作项目副本,具有任意数量的工作空间(Perforce),并在它们之间切换而无需"修复"dpr中的路径.
以上所有都是我在许多不同项目中使用的实践,经常需要在我们自己的代码版本之间来回切换,这通常也涉及在库版本之间切换.
OP 在评论中说:
问题是,如果您不在“库路径”中添加包的路径,那么每次创建新的 DPR 项目时,您都必须手动收集包的路径(很多)并将它们输入到项目的路径中。选项“浏览”框,否则您将得到“文件 xxx.dcu 未找到”
并不真地。您需要创建一个默认项目选项。为此,请加载 Delphi(我在这里谈论的是 D2010,但至少在 D7 中提供相同的功能)并确保 IDE 中没有加载的项目。
之后,打开一个文件(任何文件)并转到Project/Default Options/Delphi(或C++ Builder,您可以选择个性)。这将打开一个基本的项目选项屏幕。配置它直到您满意为止,然后按“确定”。
使用文件/新建/VCL 表单应用程序创建一个新项目,然后查看应用的默认设置。
编辑:从 XE2 开始,默认项目被选项集取代。
帮助链接:请参阅http://docwiki.embarcadero.com/RADStudio/en/IDE_Changes_for_XE2#Default_Checkbox_Removed_from_Project_Options_Pages http://docwiki.embarcadero.com/RADStudio/en/Option_Sets_-
_创建、_应用、_编辑、_和_删除 - 更多信息请访问:http://codeverge.com/embarcadero.delphi.ide/project-options-default-xe2/1058015#sthash.oovBcggS.dpuf
我在下面描述的技术对我们来说效果很好,因为无论我们使用什么版本的 Delphi,所有项目都使用相同版本的库。
例如,我们有一个使用 Delphi 6 构建(并且仍在积极开发)的分支。我们的主干在一年前迁移到 Delphi 2009,然后几个月前迁移到 2010,并且很快将迁移到 Delphi XE 。但主干中的所有项目都将使用相同版本的 Delphi 和相同版本的我们的库。
第三方组件供应商喜欢将源代码安装到共享位置,然后为编译后的代码使用不同的输出文件夹。另一方面,我更喜欢为每个安装的 Delphi 版本安装每个第三方库的单独副本。如果我安装我最喜欢的组件库之一的更新“版本 5.4”,我可能不希望单个安装适用于我正在使用的每个版本的 Delphi。因此,每个组件库都是为每个安装的 Delphi 版本单独安装的。(当库使用“典型”Windows 安装程序时,这会很痛苦,因为它不想多次安装同一产品。)
话虽如此,工具|选项中的全局库路径指向所有第三方库的 OUTPUT 文件夹。这样,每个新项目就可以开始运行,无需任何额外的工作,并且编译任何项目都不会重新编译不会随着项目更改而更改的标准第三方库代码。
在极少数情况下,我们需要对第三方库进行补丁(源代码覆盖),这些补丁会进入一个单独的文件夹,并在每次编译项目时进行编译。一旦第三方发布包含修复程序的更新,我们就会删除该补丁的副本。
我们使用包含大量源代码的第三方库,例如 ReportBuilder、Raize Components、TurboPower 产品等。我认为没有理由在每次“构建”项目时重新编译所有这些代码。
| 归档时间: |
|
| 查看次数: |
5942 次 |
| 最近记录: |