【问题标题】:Delphi 7 make complains about files not foundDelphi 7 抱怨找不到文件
【发布时间】:2010-09-12 23:45:39
【问题描述】:

我有一个 BPG 文件,我已对其进行了修改,以用作我们公司自动构建服务器的 make 文件。为了让它工作,我不得不改变

用途 * 用途 unit1 in 'unit1.pas' * unit1 unit2 in 'unit2.pas' * unit2 ... * ...

在 DPR 文件中使其工作,而无需编译器给我一些关于未找到 unit1.pas 的闲话。 这很烦人,因为我想使用 BPG 文件来实际查看项目中的内容,并且每次添加新单元时,它都会将“unitx.pas”中的内容自动插入到我的 DPR 文件中。

我正在运行make -f [then some options],我正在编译的 DPR 与 make 文件不在同一目录中,但我不确定这是否重要。只要删除in 'unit1.pas,一切都可以正常编译。

【问题讨论】:

    标签: delphi makefile packages


    【解决方案1】:

    可能是因为IDE中的搜索路径和命令行编译器的搜索路径不一样。如果您更改命令行编译器的 serach 路径,您可能能够使用与 IDE 中完全相同的源代码。

    为命令行编译器配置搜索路径的一种方法是在名为 dcc32.cfg 的文件中进行。看一下帮助,IDE-help里面有dcc32.cfg的简短说明。

    【讨论】:

      【解决方案2】:

      每次我必须将条件放入项目文件中时,我都会这样做:

      program a;
      
      uses
        ACondUnits;
      
      ...
      


      unit ACondUnits;
      
      interface
      
      uses
      {$IFDEF UseD7MM}
        Delphi7MM;
      {$ELSE}
        FastMM4;
      {$ENDIF}
      
      implementation
      
      end.
      

      也许这个技巧也适用于包。没试过。

      【讨论】:

        【解决方案3】:

        这个解决方法对我有用。

        //{$定义包} {$ifdef 包} 用途 “unit1.pas”中的unit1 “unit2.pas”中的unit2 ... {$else} 用途 单元1 单元2 ... {$endif}

        唯一的问题是每当您添加一个新单元时,delphi 会删除您顶部的ifdef package

        【讨论】:

        • 我不知道,伙计,这个解决方案可能太麻烦,您的同事无法接受。
        • 你真的在自言自语吗?
        猜你喜欢
        • 2020-06-22
        • 1970-01-01
        • 2018-10-08
        • 1970-01-01
        • 2022-12-28
        • 1970-01-01
        • 2016-07-08
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多