温馨提示:本文翻译自stackoverflow.com,查看原文请点击:delphi - How can I link a static lib generated by DCC32 with the option -JL in C++builder?
delphi c++builder .lib

delphi - 如何在C ++ builder中将DCC32生成的静态库与选项-JL链接在一起?

发布于 2020-03-30 21:53:47

我正在尝试在我的C ++ Builder项目中使用静态库。该库是通过使用DCC32编译带有-JL选项的Delphi源代码而创建的。我的Delphi源代码被设计为“设计时和运行时”包,这意味着所有代码都内置在一个包中。我想知道如何在我们的C ++ Builder项目中使用此静态库?提前致谢。

查看更多

提问者
MartinZ
被浏览
90
Rudy Velthuis 2019-04-02 01:20

正如David所说,Delphi编译器根本无法创建静态lib文件您想链接的是设计时/运行时包导入库

Delphi(和C ++ Builder)软件包不是静态库,它们是带有很多附加信息的DLL,这使得Delphi和C ++ Builder代码可以轻松链接到它们和内部类型。它们或多或少等同于C#程序集(猜测C#的人是从哪里想到的;-)。

要使用这样的软件包,如果您确实使用它们,请从项目选项中选择“使用软件包构建”选项,然后也选择此软件包。

但是,如果您要创建一个独立的应用程序,则无需使用软件包进行构建,并且Pascal文件会链接到您的应用程序,就像它们来自静态库一样但是,您无需指定一个lib文件,而只需在项目管理器中指定.pas文件,即您只需将一堆.pas(或.obj)文件直接添加到应用程序中即可。

该项目将负责编译Pascal文件并将其链接到您的应用程序。

请注意,要将组件安装到IDE中,您需要一个设计时软件包(并且可能会链接到运行时软件包)。但是,您的应用程序不需要软件包。