我正在尝试在我的C ++ Builder项目中使用静态库。通过使用DCC32编译带有-JL选项的Delphi源代码来创建该库。我的Delphi源代码被设计为“设计时和运行时”包,这意味着所有代码都内置在一个包中。我想知道如何在我们的C ++ Builder项目中使用此静态库?预先感谢。
答案 0 :(得分:0)
正如David所说, Delphi编译器根本无法创建静态lib文件。您要链接的是用于设计时/运行时程序包的导入库。
Delphi(和C ++ Builder)程序包不是静态库,它们是带有很多附加信息的DLL,这使得Delphi和C ++ Builder代码可以轻松链接到它们及其内部类型。它们或多或少地等同于C#程序集(猜测C#的人是从哪里想到的;-)。
要使用这样的软件包,以防万一您真的想要使用它们,请从项目选项中选择“使用软件包构建”选项,然后也选择此软件包。
但是,如果您要创建一个独立的应用程序,则不会使用软件包进行构建,并且Pascal文件会链接到您的应用程序中,就像它们来自静态库一样。但是,您无需指定一个lib文件,而只需在项目管理器中指定 .pas 文件,即只需添加一堆 .pas (或 .obj)即可。 )文件直接添加到您的应用程序中。
该项目将负责编译Pascal文件并将其链接到您的应用程序。
请注意,要将组件安装到IDE中,您需要一个设计时程序包(并且可能链接到运行时程序包)。但是,您的应用程序不需要软件包。
答案 1 :(得分:0)
这些是您要考虑的一些步骤:
如果使用IDE而不使用ilink32参数,则可以考虑使用procexp或procmon来查看这些参数。