Как связать статическую библиотеку, сгенерированную DCC32, с опцией -JL в C ++ builder? - PullRequest
0 голосов
/ 01 апреля 2019

Я пытаюсь использовать статическую библиотеку в своем проекте C ++ Builder.Библиотека создается с использованием DCC32 для компиляции исходного кода Delphi с опцией -JL.Мой исходный код Delphi разработан как пакет «Designtime and runtime», что означает, что весь код встроен в один пакет.Я хочу знать, как я могу использовать эту статическую библиотеку в нашем проекте C ++ Builder?Заранее спасибо.

1 Ответ

0 голосов
/ 01 апреля 2019

Как сказал Дэвид, компилятор Delphi вообще не может создавать статические файлы lib .То, на что вы пытаетесь сослаться, это библиотека импорта для пакета времени разработки / исполнения.

Пакеты Delphi (и C ++ Builder) не являются статическими библиотеками, они представляют собой библиотеки DLL с большим количеством дополнительной информации, что облегчает ссылкам кода Delphi и C ++ Builder на них и типывнутри.Они более или менее эквивалентны сборкам C # (угадайте, откуда люди C # получили идею; -).

Чтобы использовать такой пакет, если вы действительно хотите использовать их, выберитеопцию «build with packages» в опциях проекта и выберите этот пакет тоже.

Но если вы хотите создать отдельное автономное приложение, вы не будете собирать пакеты, и файлы Pascal будут связаны с вашимприложение , как будто они пришли из статической библиотеки .Но вместо того, чтобы указывать один файл lib, вы просто указываете файлы .pas в менеджере проектов, т.е. вы просто добавляете связку .pas (или .obj * 1020).*) файлы к вашему приложению напрямую.

Проект позаботится о компиляции файлов Pascal и привязке их к вашему приложению.

Обратите внимание, что для установки компонентов в IDE вам необходим пакет времени разработки(и это может ссылаться на пакет времени выполнения).Но вам не нужны пакеты для вашего приложения.

...