代码之家  ›  专栏  ›  技术社区  ›  Josh Kelley

在Delphi/C++Builder中安装多个库版本

  •  3
  • Josh Kelley  · 技术社区  · 16 年前

    如何在Delphi或C++Builder中安装多个版本的库?例如,我可能希望能够使用jcl和jvcl的当前版本开发我们的应用程序的下一个版本,同时仍然能够使用为该版本测试的jcl和jvcl的任何版本编译我们的应用程序的发布版本。

    使用库的多个版本很容易,比如boost库,因为它们只是头文件和库/dll文件,我可以放在任何我想要的地方,所以我可以简单地将项目文件指向适当的库目录。但是,由于JCL和JVCL等库试图将自己安装到IDE中,所以我不知道如何配置不同的项目以使用不同的版本,而不会使其变成无法管理的黑客。

    (我还不完全了解Delphi是如何管理组件和项目的——我的大部分经验都是C++的,所以这可能是我的问题的一部分。)

    1 回复  |  直到 16 年前
        1
  •  6
  •   Andreas Hausladen    16 年前

    我们有同样的问题,支持用不同版本的组件编译的旧版本。我们的解决方案是/是使用IDE的“-r”命令行选项。使用此开关可以使用不同的库路径和包(同时)。我们在这种方法中遇到的唯一问题是,我们中的一些人经常试图在错误的IDE实例中打开旧的项目版本。

    [Old version 1.0] bds.exe -rVersion1.0
    [trunk version  ] bds.exe
    

    如何设置:

    1. 按照习惯启动IDE。
    2. 安装“1.0版”所需的一切
    3. 关闭IDE
    4. 安装所有(旧)软件包(JCL/JVCL/…)
    5. 启动regedit.exe
    6. 将注册表项hkcu\software\codegear\bds\5.0导出到*.reg文件
    7. 启动nodepad.exe并在*.reg文件中搜索并替换“codegear\bds\5.0”,然后将其替换为“codegear\version1.0\5.0”
    8. 导入*.reg文件(在Windows资源管理器中双击该文件)
    9. 创建一个rad studio 2007 startmenu链接的副本,并更改命令行以包含“-rversion1.0”键。

    现在您有两个相同的IDE配置。现在可以将不使用“-r”命令选项的IDE更改为主干版本的包。 安装所有包时,除非不同的包版本使用不同的文件名(如jcl和jvcl),否则不能使用默认的bpl和dcp目录。

    CodeGear\BDS\5.0 = Delphi 2007
    CodeGear\BDS\6.0 = Delphi 2009
    Borland\BDS\4.0 = Delphi 2006
    Borland\Delphi\7.0 = Delphi 7