• Open Menu Close Menu
  • Apple
  • Shopping Bag
  • Apple
  • Mac
  • iPad
  • iPhone
  • Watch
  • TV
  • Music
  • Support
  • Search apple.com
  • Shopping Bag

Lists

Open Menu Close Menu
  • Terms and Conditions
  • Lists hosted on this site
  • Email the Postmaster
  • Tips for posting to public mailing lists
Re: Xcode & Visual C++
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Xcode & Visual C++


  • Subject: Re: Xcode & Visual C++
  • From: david tay <email@hidden>
  • Date: Sat, 7 Jan 2006 13:01:37 -0800

Trenton,

One thing I've noticed is that Qt based binaries (using either statically linked Qt libs or included Qt frameworks) are far larger than equivalent binaries built using either Cocoa or Carbon.

For example, a simple USB device firmware updater built and bundled with the relevant Qt libs was larger than 6Mb in size (excluding the firmware file), while an equivalent binary built using CodeWarrior & PowerPlant / XCode & standard Carbon frameworks is under 500k.

The Qt libs had to be included with the application binary in order for the application to run on Macs that do not have Qt installed.

With Qt 4.0.1, the size for a simple USB device controller application is 30+ Mb for MacOS X! For Windows, the total binary size is way smaller.

Yes, un-needed options were turned off/ excluded.

 I've asked Trolltech technical support before and the reply was to exclude the options that were not needed when building and installing the Qt framework.

Unfortunately, the size of the binary is still far larger than what is acceptable.

Are there ways to bring down the total binary size down to something comparable to stock Cocoa/ Carbon binaries?

Or should we develop Mac applications using Carbon or Cocoa?

Thanks,

David
On Jan 6, 2006, at 11:52 AM, email@hidden wrote:

Message: 8

Date: Fri, 6 Jan 2006 15:56:05 +0100

From: Trenton Schulz <email@hidden>

Subject: Re: Xcode & Visual C++

To: David Michael Bryson <email@hidden>

Cc: email@hidden

Message-ID: <email@hidden">email@hidden>

Content-Type: text/plain; charset=US-ASCII; delsp=yes; format=flowed



On Jan 5, 2006, at 3:18 AM, David Michael Bryson wrote:



On Jan 4, 2006, at 8:07 PM, email@hidden wrote:


The Qt framework on OS X is also built on top of the native OS X

frameworks. Apps built with Qt are "real" Mac applications - at least

they certainly look and feel like "real" Mac apps.


Just a little nit pick here.   Just because it looks like a "real"  

Mac application

does not mean that its actually using the carbon/cocoa widgets.    

In fact, it

is my understanding (and I have used Qt on OS X) that the widgets are

drawn by Qt to resemble Aqua.   Look closely at it and you will  

notice slight

behavioral and appearance differences between native and Qt widgets.

Nothing of a show stopper that I've seen, but its not truly a  

native toolkit.


Not to nitpick here, but Qt 3.0 used to "emulate" the drawing of  

widgets. Qt 3.1 and on used AppearanceManager to render widgets and  

Qt 4.x uses HIThemes for this job. In the end, we have the same flaws  

in drawing that other Carbon controls do. I know, I've filed bugs  

against it [HITheme].


Qt 4 is actually built using HIView and lots of the other goodness  

that comes from the HIToolBox. As we tighten up our architecture, it  

should really start to fly.


We (Trolltech) have seen this "Qt emulates drawing on the Mac" so  

many times and it hasn't been true for years. Sometimes you just have  

to set the record straight. Of course, there's room for improvement,  

but that's true of all software :)



This is not to say that Qt isn't an excellent option for cross  

platform

development.  I've had good luck it, especially when combined with  

PyQt,

for rapid development of a GUI that needed to run on OS X and Solaris.


Amen! It's a great tool :)


-- 

Trenton Schulz

Trolltech AS




 _______________________________________________
Do not post admin requests to the list. They will be ignored.
Xcode-users mailing list      (email@hidden)
Help/Unsubscribe/Update your Subscription:

This email sent to email@hidden

  • Prev by Date: Pass a C option based on command-line output?
  • Next by Date: Re: Pass a C option based on command-line output?
  • Previous by thread: Trolltech QT (was: Xcode & Visual C++)
  • Next by thread: Run Script Build Phase & Linking
  • Index(es):
    • Date
    • Thread