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

时间:2019-04-01 12:04:32

标签: delphi c++builder .lib

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

2 个答案:

答案 0 :(得分:0)

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

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

要使用这样的软件包,以防万一您真的想要使用它们,请从项目选项中选择“使用软件包构建”选项,然后也选择此软件包。

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

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

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

答案 1 :(得分:0)

这些是您要考虑的一些步骤:

  1. 使用-JP生成obj文件
  2. 在链接步骤中将这些obj文件添加到您的ilink32命令中

如果使用IDE而不使用ilink32参数,则可以考虑使用procexp或procmon来查看这些参数。