[Qt-interest] Mac OS X Leopard (10.5.x) and 4.5 - Backward compatibility to Tiger (10.4.x) ?

Mike Jackson imikejackson at gmail.com
Mon Mar 9 21:05:29 CET 2009


On 2009-03-09 14:46:46 -0400, ygor at comcast.net said:
> On 2009-03-08 20:55:59 -0400, Dan White <ygor at comcast.net> said:
> 
>>> In the call to "configure", can I specify more than one item in the
>>> "sdk" option like this :
>>> 
>>> ./configure \
>>> 	-prefix . \
>>> 	-prefix-install \
>>> 	-release \
>>> 	-static \
>>> 	-fast \
>>> 	-largefile \
>>> 	-exceptions \
>>> 	-accessibility \
>>> 	-stl \
>>> 	-qt-sql-sqlite \
>>> 	-no-qt3support \
>>> 	-no-phonon \
>>> 	-svg \
>>> 	-no-mmx \
>>> 	-no-webkit \
>>> 	-no-framework \
>>> 	-universal \
>>> 	-sdk "/Developer/SDKs/MacOSX10.4u.sdk /Developer/SDKs/MacOSX10.5.sdk"
>>> 
>>> I am building Qt 4.5.0 on a Leopard (10.5.x) box and want my
>>> applications to run on Tiger (10.4.x) boxen as well.
>>> 
>>> Thanks.
>> 
>> Dan,
>> If you need to deploy on 10.4 then you will need to add the following
>> gcc/g++ flags to your compile.
>> 
>> -mmacosx-version-min=10.4.
>> 
>> and leave the -sdk /Developer/SDKs/MacOSX10.5.sdk
>> 
>> This scenario will make sure your app can run on 10.4 and 10.5. IF you
>> use the 10.4u SDK then the MAXIMUM version of OS X that would be
>> officially supported is 10.4. It _may_ run on 10.5 but there is no
>> guarantee.
>> 
>> Now, a few fun things:
>>   64 Bit builds Require Cocoa. Qt/Cocoa REQUIRES 10.5 Leopard. There is
>> NO DEPLOYMENT to 10.4 Tiger.
>>   64 Bit builds Require Frameworks. Frameworks REQUIRES Dynamic Libraries.
>> 
>> So here is what you are "stuck" with for 64 Bit builds
>>    Universal Binary, Dylib based Frameworks with a -mmacosx-version-min=10.5.
>> 
>> Hope that helps.
>> 
>> Mike Jackson
>> Principal Software Engineer
>> Bluequartz Sofware (www.bluequartz.net)


> OK, so I use "-sdk /Developer/SDKs/MacOSX10.5.sdk" in the configure
> and "-mmacosx-version-min=10.4" added to the compiler flags.
> 
> Would I need to have that compiler flag in place to build the Qt 
> libraries or just when I build applications ?
> 
> Thanks for the info.

For _everything_ that is built by _you_, the flag will need to be set. 
The presence of that flag will tell the linker whether or not to "weak" 
link or not. You can search Apple's docs for what all that entails for 
your code.

Again, though, if you are after a 64 bit build of Qt then then minimal 
system that can be deployed to is 10.5. This is stated somewhere in the 
Qt docs and also if you do a ./configure --help and read through the 
options.

Mike Jackson




More information about the Qt-interest-old mailing list