我有一个必须链接到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的包。)
答案 0 :(得分:0)
问题原来是链接包的搜索路径。它无法找到.DCP文件,那么就无法链接。它似乎首先寻找DCP,无声地失败,然后寻找有问题的编译单元(扩展名.dcu),然后在DCU上给出错误而不是丢失的DCP。
项目选项“生成所有C ++ Builder文件”就足够了,如果您的搜索路径(dcu和dcp搜索)和包含(.hpp)文件夹。