[Development] Frameworks on Mac?

Konstantin Tokarev annulen at yandex.ru
Thu Nov 22 17:08:36 CET 2012



22.11.2012, 16:46, "Rutledge Shawn" <Shawn.Rutledge at digia.com>:
> On 22 Nov 2012, at 1:18 PM, Sorvig Morten wrote:
>
>>  On Nov 22, 2012, at 1:08 PM, Konstantin Tokarev <annulen at yandex.ru>
>>  wrote:
>>>  22.11.2012, 16:04, "Rutledge Shawn" <Shawn.Rutledge at digia.com>:
>>>>  Yeah I know, and that's very convenient, but I've seen installers sometimes too.
>>>>
>>>>  We could even offer a way to make it easy for application developers to make installers, in order to standardize the Qt framework installation at bit more.  For example QBS could generate a target to build an installer.  If it will save memory on users' systems, it seems like a good thing, right?
>>>  There's installer of Qt which install Qt frameworks globally to the system. However, sharing them between application on end-user system is not a good idea, because it may result in conflicts between Qt applications.
>>  I think the way to go for deployment on Mac is definitively self-contained app bundles where each app carries its own copy of Qt. This is what macdeployqt creates. Anything else is as you say just going to create conflicts. Self-contained bundles are also enforced by the app store.
>
> Well if our binary compatibility guarantee is true, then what conflicts do we worry about?

Example from the past: there were Carbon and Cocoa builds of Qt, and some Qt application because of bugs in Cocoa version preferred to ship Carbon.
Example from nowadays: it's possible to build Qt with stlibc++ and libc++, which results in binary incompatible dylibs.


> If an app depends on new features which were added in a point-release, then it will not work with an older Qt, but an application which was shipped with the older version ought to work just as well with the newer one.

Well, newly released Qt version may contain bugs which are showstopper for one application, but unnoticeable for another one.

> On Windows and Linux we depend on that, right?

On Windows Qt is always not recommended to be installed system-wide. On Linux distro maintainers ensure that all Qt applications, shipped by distro, work properly with shipped Qt version. This is not the case for Mac and Windows.

>
> Isn't it true that duplicate copies of Qt in every application will result in duplicate copies being loaded into RAM too?

Only if both are running at the same time.

-- 
Regards,
Konstantin



More information about the Development mailing list