代码之家  ›  专栏  ›  技术社区  ›  Warren P

C++Builder DLL不能从Delphi包(BPL)链接单元Obj.如何修复?

  •  0
  • Warren P  · 技术社区  · 14 年前

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

    当前的问题是,在连接C++Builder包时没有发现“UNITX.Objt”(ILIX32错误),UNITX是一个打算在C++ Builder和Delphi包之间动态链接的单元。

    我认为这足以改变DelphiBPL项目的链接选项,比如:

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

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

    1 回复  |  直到 14 年前
        1
  •  0
  •   Warren P    14 年前

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

    如果您的搜索路径(DCU和DCP搜索)和包含(.HPP)文件夹,项目选项“生成所有C++ Builder文件”就足够了。