Delphi 2007项目库路径

时间:2016-05-13 11:57:41

标签: delphi delphi-7 delphi-2007

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

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

有没有办法将它们添加到项目中?据我所知,项目选项How can I add a library path to a delphi project?中的新Delphi版本是可能的,但在2007年我没有看到这样的选项。

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

enter image description here

2 个答案:

答案 0 :(得分:4)

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

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

  2. 对于您而言,在Delphi 2007中,您可能需要特别注意将调试和发布分支中的值手动保存为SAME,因为我相信您无法在Delphi 2007中自动执行此操作。

  3. 要回答您的问题,不需要完整路径,通常无需使用$(PROJECTDIR)。也没有必要完整的路径。您需要使用相对路径,例如:..\Lib\Dir1;..\Lib\Dir2;..\Lib\Dir3等。我使用相对路径的目标是满足检查代码并在任何地方构建代码的愿望。只有在签出到某个目录(C:\YOURAPP)时才能构建的代码是草率的,我敢说是彻头彻尾的懒惰,也是不切实际的,而且你可能认为这是一种最佳实践也是如此可悲。这种草率的无用代码库阻止了正确的持续集成实践,防止了具有不同分支或主要版本的多个工作副本,等等,并且经常通过保持所有代码几乎不在某种虚拟机中构建来解决。甚至没有人知道如何设置他们的代码,所以他们把它推到虚拟机中,让混乱的事情发生。

  4. 当你绝对不能使用相对路径时,例如当你不知道其他东西在哪里时,你应该将你的OWN设置在内部根文件夹变量中,如果你的公司叫做ACME,我会称之为ACMEROOT,我会自己设置它。在我目前的公司,我们有一个根变量我们称之为PS,因为我们的产品的首字母大写是P和S.然后我们使用$(PS)类似于您在$(BDS)中使用的方式图书馆路径。

  5. 有时我觉得有一个我编写的外部工具可以为我设置环境变量,直接写入IDE我想要的环境变量,并且我有一个检查的做法很有用来自版本控制的代码并运行此工具来设置我的环境。碰巧我现在可以将代码检查到一台新计算机上并运行它,无需任何手动设置包,安装组件,配置库路径或项目,以及所有内容。遗憾的是,IDE并没有提供此类练习所需的一切,但是有各种第三方工具可以为您提供便携,易于构建的代码库。

答案 1 :(得分:-3)

是。打开Delphi。转到项目经理。右键单击并选择“选项”。 从树中选择Resource Compiler,然后选择目录和条件。

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