Qt框架可用于创建跨平台库

时间:2014-03-06 21:37:47

标签: android c++ ios qt cross-platform

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

我是否可以使用它来创建可重用的代码片段,这些代码将被编译为Windows .dll,OSX和iOS .dylib以及Android .jar文件?

1 个答案:

答案 0 :(得分:0)

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

以下是警告:

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

  2. 如果您使用的库是动态链接到Qt,那么您的用户将被迫使用Qt的二进制兼容版本:这意味着它必须使用相同的编译器进行编译,{{3} }。

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