【问题标题】:C++ Builder DLL can not link unit obj from a Delphi Package (BPL). How to fix it?C++ Builder DLL 无法从 Delphi 包 (BPL) 链接单元 obj。如何解决?
【发布时间】:2011-04-02 16:59:54
【问题描述】:

我有一个必须链接到 Delphi 包 (BPL) 的 C++ Builder DLL,我认为可能需要重建 Delphi 包以允许 C++ Builder 和 Delphi 使用它,但我不知道 Delphi 包需要设置哪些选项。

目前的问题是链接C++ Builder包时找不到“UnitX.obj”(ILINK32错误),而UnitX是打算在C++Builder和Delphi包之间动态链接的单元。

我认为像这样更改 Delphi BPL 项目的链接选项就足够了:

Project Options ->Delphi Compiler->Linking ->linker output : 
   "Generate all C++ Builder files (including package libs)"

C++Builder DLL 已检查“运行时包”,并且“使用运行时包构建”列表设置正确(它包含包含 UnitX 的包。)

【问题讨论】:

  • delphi 包的 .bpi 文件是否列在 c++ 包的“requires”部分? delphi 包的 requires 部分中列出的所有 .bpi 文件是否也列在 c++ 包中?

标签: delphi delphi-2010 packages c++builder


【解决方案1】:

问题原来是链接包的搜索路径。它找不到 .DCP 文件,因此无法链接。它似乎首先寻找 DCP,静默失败,然后寻找有问题的编译单元(扩展名 .dcu),然后在 DCU 上给出错误而不是丢失的 DCP。

如果您的搜索路径(dcu 和 dcp 搜索)并包含 (.hpp) 文件夹,项目选​​项“生成所有 C++ 生成器文件”就足够了。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-07-15
    • 2020-04-30
    • 2010-12-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-09-25
    相关资源
    最近更新 更多