Qt框架可以用来创建跨平台库吗

Posted

技术标签:

【中文标题】Qt框架可以用来创建跨平台库吗【英文标题】:Can Qt framework be used to create cross platform libraries 【发布时间】:2014-03-06 21:37:46 【问题描述】:

Qt (http://qt-project.org/) 看起来像是一个用于开发应用程序的出色跨平台框架,但我似乎无法找到它是否可用于创建库。

我可以使用它来创建一段可重用的代码,将其编译为 Windows .dll、OSX 和 ios .dylib 以及 android .jar 文件吗?

【问题讨论】:

您不能在 iOS 中使用动态库。它只支持静态库。 【参考方案1】:

通常,应用程序和共享库之间的唯一区别是图像文件中的一些选项位。所以是的,你当然可以使用 Qt 来编写可重用的软件库。

以下是注意事项:

    如果您创建的库公开 C++ 接口(与 C 接口相反),您的用户将需要使用相同的编译器版本来构建与您的库链接的代码。 C 接口必须声明为extern C

    1234563

为了在非包管理平台(如 Windows)上使用,我会将我的库静态链接到 Qt 和 Visual C++ 运行时。对于带有包管理器的平台(Linux、OS X 上的 macports),我会提供一个静态链接库以及一个特定于平台的包(比如 RHEL6 的 RPM、macports 端口文件等),然后依赖于平台标准C++ 运行时和 Qt(如果存在)(某些平台尚未提供 Qt 5)。

【讨论】:

感谢您的详尽解答!

以上是关于Qt框架可以用来创建跨平台库吗的主要内容,如果未能解决你的问题,请参考以下文章

我可以在不使用其 UI 框架的情况下将 Qt 用作 C++ 库吗

C++图形用户界面开发框架Qt 6.1入门级教程 - 入门指南

Qt移植

QT+VS+OpenCV联合开发-创建第一个QT程序以及快捷键学习

1 Qt框架初探

Qt高级——QMake快速入门