在 Qt 中构建 DLL 并在 Visual Studio+Delphi 中使用
Posted
技术标签:
【中文标题】在 Qt 中构建 DLL 并在 Visual Studio+Delphi 中使用【英文标题】:Build DLL in Qt & use in Visual Studio+Delphi 【发布时间】:2016-03-09 13:28:08 【问题描述】:我从 Qt framework 的函数 (C++) 构建了一个 DLL 文件,但我想在 Visual Studio 和 Delphi 中使用这个 DLL 文件 现在。
有办法吗?
【问题讨论】:
【参考方案1】:通常,您如何制作 DLL 并不重要,您可以像使用任何其他 DLL 一样使用它。也就是说,您遵循的教程向您展示了如何导出 C++ 类。除了使用相同的 C++ 编译器构建的模块之外,其他任何东西都不能使用它,链接到用于构建 DLL 的相同动态 C++ 运行时库。因此,在这种情况下,虽然您可以从用于构建 DLL 的同一版本的 Visual Studio 中使用,但您将永远无法从 Delphi 使用该 DLL。
您需要导出非成员函数或静态成员函数。您需要确保使用简单的互操作友好类型,例如数字类型(int
、double
等)、字符类型(char
、wchar_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+Delphi 中使用的主要内容,如果未能解决你的问题,请参考以下文章
如何将 Qt 的 windeployqt 集成为 Visual Studio 构建工作流的一部分?
使用 Visual Studio 2010 在 dll 项目中包含 Qt 工具