C++ Builder DLL не может связать объект obj из пакета Delphi (BPL). Как это исправить?

У меня есть C++ Builder DLL, которая должна быть связана с пакетом Delphi (BPL), и я думаю, что возможно, что пакет Delphi, возможно, придется пересобрать, чтобы позволить его использовать и C++ Builder, и Delphi, но я не знать, какие параметры должны быть установлены в пакете Delphi.

Текущая проблема заключается в том, что "UnitX.obj" не найден (ошибка ILINK32) при связывании пакета C++ Builder, а 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 ответ

Решение

Проблема оказывается в пути поиска пакета ссылок. Он не может найти файл.DCP, то он не может связать. Похоже, что сначала выполняется поиск DCP, происходит сбой в автоматическом режиме, затем выполняется поиск соответствующего скомпилированного модуля (расширение.dcu), а затем выдается ошибка на DCU, а не отсутствующий DCP.

Вариантов проекта "Сгенерировать все файлы C++ Builder" достаточно, если ваш путь поиска (dcu и dcp search) и папки (.hpp) включены.

Другие вопросы по тегам