Delphi2007项目库路径

Delphi 2007 project library path

我有一个 Delphi 2007 项目,它使用几个非可视化库(例如 OmniXML、Synapse,一些 类 来自 TntUnicode)作为源代码(.pas 文件)分发。

我可以将它们在 IDE 中的路径添加到 Tools -> Options -> Environment -> Delphi -> Library Win32 -> Library path 但这看起来不是一个好方法,因为这些路径需要在每台计算机上设置并且所有项目都必须使用相同的库版本。

有什么方法可以将它们添加到项目中吗?据我了解,在项目选项 的较新 Delphi 版本中是可能的,但在 2007 年我没有看到这样的选项。

我在 Directories/Conditionals 中只找到了搜索路径,但它对于 Release/Debug 配置是分开的,我不知道除了 ${BDS} 之外还有哪些宏在这里工作。我也不确定它是否用于此类用途。也许有更好的选择?

是的。打开Delphi。转到项目经理。右键单击和 select 选项。 Select 树中的资源编译器和 select 目录和条件。

您可以在此处定义项目的搜索路径。不要担心 $(Links)。只需使用真实路径即可。当然,每台计算机都需要配置相同,但无论如何都是如此。

我更喜欢在每个 Delphi 版本的工具选项中没有额外的库路径,并且让每个项目都有自己的搜索路径。

  1. 我更喜欢让我的设置存在并且对所有构建配置都相同。为此,我确保使用根节点。不幸的是,这在 Delphi 2007 中并不那么简单,因为您有 Build = Debug 设置和 Build = Release 设置,如果我没记错的话,Delphi 2007 中没有 ROOT 节点。

  2. 对于你来说,在 Delphi 2007 年,你可能需要特别注意手动保持调试和发布分支中的值相同,因为我相信你不能这样做这会在 Delphi 2007 年自动执行。

  3. 要回答您的问题,不需要完整路径,通常也不需要使用 $(PROJECTDIR)。也不需要完整路径。您需要使用相对路径,例如:..\Lib\Dir1;..\Lib\Dir2;..\Lib\Dir3 等等。我使用相对路径的目的是满足检出代码并在任何地方构建它的愿望。只能在签出到特定目录 (C:\YOURAPP) 时构建的代码很草率,我敢说是彻头彻尾的懒惰,而且不切实际,而且非常普遍,以至于您可能认为这是最佳实践。这种草率的不费吹灰之力的代码库阻碍了正确的持续集成实践,阻碍了在不同分支或主要版本中拥有多个工作副本,等等,并且通常通过让所有代码几乎不在某种虚拟机中构建来解决。甚至没有人知道如何设置他们的代码,所以他们将其推入 VM 中,任其自生自灭。

  4. 当你绝对不能使用相对路径时,比如当你不知道其他东西在哪里时,你应该在内部根文件夹变量中设置你的 OWN,如果你的公司叫做 ACME,我会称之为 ACMEROOT,我会自己设置它。在我现在的公司,我们有这样一个根变量,我们称之为 PS 因为我们产品的初始资本是 P 和 S。然后我们使用 $(PS) 类似于你在 $(BDS) 中使用的方式库路径。

  5. 有时我发现拥有一个我编写的外部工具很有用,它可以为我设置环境变量,直接写入 IDE 我想要的环境变量,我习惯于从版本控制中检出代码并 运行 使用此工具来设置我的环境。碰巧我现在可以将代码检查到一台新计算机上并 运行 它无需任何手动设置包、安装组件、配置库路径或项目,一切都只是构建。不幸的是,IDE 并未提供您进行此类实践所需的一切,但有多种第三方工具可以为您提供可移植、干净且易于构建的代码库。