在 Qt 中构建 DLL 并在 Visual Studio+Del​​phi 中使用

Posted

技术标签:

【中文标题】在 Qt 中构建 DLL 并在 Visual Studio+Del​​phi 中使用【英文标题】:Build DLL in Qt & use in Visual Studio+Delphi 【发布时间】:2016-03-09 13:28:08 【问题描述】:

我从 Qt framework 的函数 (C++) 构建了一个 DLL 文件,但我想在 Visual StudioDelphi 中使用这个 DLL 文件 现在。

有办法吗?

【问题讨论】:

【参考方案1】:

通常,您如何制作 DLL 并不重要,您可以像使用任何其他 DLL 一样使用它。也就是说,您遵循的教程向您展示了如何导出 C++ 类。除了使用相同的 C++ 编译器构建的模块之外,其他任何东西都不能使用它,链接到用于构建 DLL 的相同动态 C++ 运行时库。因此,在这种情况下,虽然您可以从用于构建 DLL 的同一版本的 Visual Studio 中使用,但您将永远无法从 Delphi 使用该 DLL。

您需要导出非成员函数或静态成员函数。您需要确保使用简单的互操作友好类型,例如数字类型(intdouble 等)、字符类型(charwchar_t)、指针、数组、结构等。

要了解如何在 Delphi 中从 DLL 导入函数,请从这里开始:http://docwiki.embarcadero.com/RADStudio/en/Libraries_and_Packages

【讨论】:

我看了你的回答。但我不明白“如何通过 Qt 框架制作 DLL 文件以在 Visual Studio 和 Delphi 中使用?” 您的具体问题是什么? 首先,感谢您的回答,现在我有一个函数 (C++),我想在 Visual Studio 和 Delphi 中使用它。我该怎么办?~ 编译成DLL并调用。我想我回答了您提出的问题,其详细程度与问题中的细节相匹配 好的,但是在visual studio中如何使用?!

以上是关于在 Qt 中构建 DLL 并在 Visual Studio+Del​​phi 中使用的主要内容,如果未能解决你的问题,请参考以下文章

如何将 Qt 的 windeployqt 集成为 Visual Studio 构建工作流的一部分?

使用 Visual Studio 2010 在 dll 项目中包含 Qt 工具

让 dll 包含在 Visual Studio 中工作

带有 Visual Studio 2013 的 Qt 5.4 - 缺少 QtCored.dll

编辑:便携式 Visual Studio 代码 [关闭]

在 Visual Studio 中构建 DLL 时使用静态库