Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/178.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android Qt框架可以用于创建跨平台库吗_Android_C++_Ios_Qt_Cross Platform - Fatal编程技术网

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

Android Qt框架可以用于创建跨平台库吗,android,c++,ios,qt,cross-platform,Android,C++,Ios,Qt,Cross Platform,Qt()看起来是开发应用程序的一个很好的跨平台框架,但是我似乎找不到它是否可以用来创建库 我可以用它来创建一段可重用的代码,这些代码将被编译成Windows.dll、OSX和iOS.dylib以及Android.jar文件吗?通常,应用程序和共享库之间的唯一区别是图像文件中的几个选项位。是的,您当然可以使用Qt编写可重用的软件库 以下是注意事项: 如果您创建的库暴露C++接口(而不是C接口),则用户需要使用相同的编译器版本来构建与库链接的代码。必须声明C接口 如果您使用的库是针对Qt动态链接的

Qt()看起来是开发应用程序的一个很好的跨平台框架,但是我似乎找不到它是否可以用来创建库


我可以用它来创建一段可重用的代码,这些代码将被编译成Windows.dll、OSX和iOS.dylib以及Android.jar文件吗?

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

以下是注意事项:

  • 如果您创建的库暴露C++接口(而不是C接口),则用户需要使用相同的编译器版本来构建与库链接的代码。必须声明C接口

  • 如果您使用的库是针对Qt动态链接的,那么您的用户将被迫使用Qt的二进制兼容版本:这意味着它必须使用相同的编译器编译,并且


  • < >在非包管理平台(如Windows)上使用,我会将我的库静态地链接到Qt和VisualC++运行时。对于具有包管理器的平台(Linux,Mac上的OS X),我既提供静态链接库,也提供平台特定的包(比如RHEL6的RPM,Mac端口的PrPo锉等),然后依赖于平台标准的C++运行时,如果存在这样的QT(有些平台还不提供Qt 5).

    您不能将动态库与iOS一起使用。它只支持静态库。感谢您的全面回答!