Details
-
User Story
-
Resolution: Unresolved
-
P3: Somewhat important
-
5.9.1, 5.15, 6.2
-
None
Description
As a developer, I'd like to use QtCore functionality in my cross platform app (Windows, OSX, Linux, iOS, and Android), but currently, iOS libraries are provided as static libraries. It would be preferable to include iOS QT libraries as dynamically linked frameworks similar to OSX rather than static libraries.
I'm currently facing the following problem. My app depends on QtCore, and another 3rd party component. However, both QtCore and this 3rd party component include Google's double-conversion library (https://github.com/google/double-conversion). Because both QtCore and 3rd party component are provided as static libraries, build fails due to linker errors of duplicate symbols. Unfortunately, the way I need to solve this is by taking libQtCore.a library and ripping out .o files from double-conversion library so that only one version of this component will be in my app. But this can cause issues if QtCore or 3rd party component relies on specific version of this library which may fail at runtime.
An ideal fix for this would be to simply ship Qt libraries on iOS as dynamically linked frameworks supported from iOS8. Since QtCore.framework would be self contained, it can have its own version of the library and would not conflict with this other 3rd party component.
Please evaluate this Story. I think it would make Qt more attractive for use on iOS platform as it would also be possible to ship apps to the app store without open sourcing them (static vs dynamic linking).
Thank you!
Attachments
Issue Links
- relates to
-
QTBUG-85974 Allow dynamic builds of Qt for iOS
- Open