zoukankan      html  css  js  c++  java
  • 关于delphi编译路径设置问题

    公司有一个控件是用delphi编的,有bug需要修改,我接手之后就开始修改。因为工程使用了大量的外部控件,而且有些源代码需要用最新版替换掉,所以我决定把这些外部控件的源代码整合到一个project group中去。原来以为简单的一个dpk工程的compile和install,谁知道这个工作耗费了将近2天时间。问题很简单,不是不能通过编译,而是明明编译成功的bpl文件,却报告路径找不到。

    经过时断时续的多种方法尝试,终于找到了一个比较满意的工程路径设置规范,记录如下。

    在delphi中有两处涉及到路径的配置,一个是菜单tools\options中的environment options/delpihi options/library位置,使用者可以设置库文件查找路径(library path),包输出路径,dcp文件的输出目录,源代码浏览路径等,我这里用到两个,一个是package output directory,另外一个是dcp output directory。前者是bpl包的输出目录,后者是dcu文件的输出目录。这个是系统默认的输出设置,我们这里也不要去修改。

    另外一处是project本身的options设置,这里和默认输出有些不一样,设置的是输出目录(output directory),单元文件输出目录,查找路径,dcp输出目录等。我们这里要做如下的设置:

    output directory:留空,使用全局设置

    dcp output directory:留空,使用全局设置

    unit output directory:所有工程设置成同一个输出,比如..\output。记住要设置路径,否则别人拿到你的工程一样会麻烦。

    search path:该位置用于告诉编译器如何寻找pas、dcu文件。一定要包含unit output directory的内容,比如..\output。看情况加入其他的查找位置。

    这样设置之后,整体编译就不会出问题了。原理很简单:以上两个留空的设置会自动使用相应的全局设置,而这两个全局设置已经被包含在默认的全局查找路径中了。

    我决定把这个设置作为公司的标准设置。

    -------------------------------------------------------------------

    以下附录是delphi相关文件后缀的含义,摘自这里

    .dcu: (delphi compiled unit)源代码编译之后的输出文件,一个源代码文件对应一个dcu文件,只有源代码文件被修改之后才会重新编译,用于加速编译过程。

    .dfm: (delphi form)和pas文件配合,定义界面。

    .dcp: 二进制映像文件,包含符号信息和ide需要的其他附加信息,ide构建工程的时候需要这个文件。

    .bpl或者.dpl:设计时包或者运行时包。其实是一个加入了delphi特性的dll文件。

  • 相关阅读:
    adb命令之adb install
    GNU make and Makefile
    Makefile经典教程(掌握这些足够)
    Android.mk简介
    PhoneFactory.getDefaultPhone must be called from Looper thread
    Android源码目录结构
    软件部通用技术类网站名录
    β测试
    α测试
    白盒测试
  • 原文地址:https://www.cnblogs.com/BigTall/p/926310.html
Copyright © 2011-2022 走看看