我试图在我的C++生成器项目中使用一个静态库。库是通过使用DCC32编译带有-JL选项的Delphi源代码创建的。我的Delphi源代码设计为“设计时间和运行时”包,这意味着所有的代码都内置在一个包中。我想知道如何在我们的C++生成器项目中使用这个静态库?提前谢谢。
发布于 2019-04-01 14:23:59
正如大卫所说,Delphi编译器不能在所有上创建静态库文件。您试图链接到的是设计时/运行时包的导入库。
Delphi (和C++Builder)包不是静态库,它们是包含大量额外信息的DLL,这使得Delphi和C++Builder代码很容易链接到它们和内部的类型。它们或多或少相当于C#程序集(猜猜C#人员从哪里得到这个想法;-)。
要使用这样的包,如果您真的想要使用它们,请从项目选项中选择“”选项,并选择这个包。
但是,如果您想要创建一个独立的应用程序,则不使用包构建Pascal文件,并且Pascal文件被链接到应用程序中,就好像它们来自静态库一样。但是,不必指定一个lib文件,只需在项目管理器中指定.pas文件,即直接将一堆.pas (或.obj)文件添加到应用程序中。
该项目将负责编译Pascal文件并将它们链接到您的应用程序。
注意,要将组件安装到IDE中,您需要一个设计时包(并且可能链接到运行时包)。但您不需要应用程序包。
发布于 2020-01-31 08:16:29
以下是你需要考虑的一些步骤:
如果您使用IDE而不使用哪个ilink32参数,那么您可以考虑使用procexp或procmon来查看这些params。
https://stackoverflow.com/questions/55454710
复制相似问题