2016-05-13 101 views
0

我有一个德尔福2007年项目,使用几个非可视库(如OmniXML,Synapse,从TntUnicode一些类)分布作为源代码(.pas文件)。德尔福2007年项目库路径

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

有什么方法可以将它们添加到项目中吗?据我所知,可能在项目选项How can I add a library path to a delphi project?较新的德尔福版本,但在2007年,我没有看到这样的选项。

我只在目录/条件中找到搜索路径,但它对于发布/调试配置是分开的,我不知道除了${BDS}之外,还有哪些宏可用。此外,我不确定它是否打算用于此类用途。也许有更好的选择?

enter image description here

+1

我把所有的.dcu文件放在本地树中,并将它们的相对路径添加到项目搜索路径中。如果你有调试.dcu的,你也可以将它们添加到本地树中。 –

+0

是的,谢谢,看起来像“libs \ mylib \ source”这样的相对路径工作正常。 – AlexP11223

回答

4

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

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

  2. 对于你来说,您可能需要特别注意将值保存在调试版本中,并且手动发布版本支持SAME,因为我相信您无法在Delphi 2007中自动执行此操作。

  3. 要回答您的问题,不需要完整路径并且通常不需要使用$(PROJECTDIR)。也不需要完整的路径。您需要使用相对路径,如下所示:..\Lib\Dir1;..\Lib\Dir2;..\Lib\Dir3等。我使用相对路径的目标是满足检查代码并在任何地方构建代码的愿望。只能在签出到某个目录(C:\YOURAPP)时才能建立的代码很sl,,我敢说懒惰,以及不切实际,也很常见,以至于您可能认为这是最佳做法。这种草率的努力代码库阻止正确的持续集成实践,防止在不同的分支机构或主要版本中有多个工作副本等等,并且通常是通过将所有代码几乎不在任何虚拟机中构建而实现的。没有人知道如何设置他们的代码,所以他们把它推到虚拟机中,让混乱的模型。

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

  5. 有时我发现有一个外部工具,我已经写了这个工具,它会为我设置环境变量,直接向IDE写入我想要的环境变量,并且我有一个检查代码的做法从版本控制和运行此工具来设置我的环境。恰巧我现在可以将代码检查到新计算机上并运行它,而无需手动设置软件包,安装组件,配置库路径或项目以及所有内容。不幸的是,IDE并没有提供这种做法所需的一切,但是有各种各样的第三方工具可以为您提供便于清理的易于构建代码库。

+0

是的,相对路径正是我想要的,我只是不确定Delphi如何解析搜索路径中的相对路径,并且认为我需要类似'$ {ProjectDir}'的东西(在构建过程中自动设置为项目路径,就像在Visual中工作室),以确保它始终有效。 – AlexP11223

+0

即使在视觉工作室中,除非您发现令人困惑,否则应该使用相对路径。 –

-3

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

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

+0

你确定你在谈论D2007吗?没有“资源编译器”。无论如何,我已经找到搜索路径,请参阅上面的截图。但我认为应该为项目目录存在一些宏,以避免使用完整路径。 – AlexP11223

+2

资源编译器的搜索路径与库路径无关。 – dummzeuch

+0

这不仅与库路径无关,在Delphi 2007中也不存在,这是此问题特别标记的IDE版本。 –