C ++ Builder DLL无法从Delphi包(BPL)链接单元obj。怎么解决?

时间:2010-08-23 15:08:00

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

我有一个必须链接到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的包。)

1 个答案:

答案 0 :(得分:0)

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

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