Difference between revisions of "Packaging Qt apps for Mac OS X"

From MyLabWiki
Jump to: navigation, search
(Application and package icon)
Line 2: Line 2:
  
 
# Build your application in release mode
 
# Build your application in release mode
# Execute "macdeployqt myprog.app" (see -h for options)
+
# Execute "macdeployqt myprog.app"
 +
#* see -h for options
 +
#* good to use -verbose=2
  
 
This will bundle all the Qt libraries into the myprog.app - this will be approximately 40 MB. I guess one could still do the manual process for small applications that do not need all the Qt libraries. Or maybe the unnecessary libraries can be removed again manually?
 
This will bundle all the Qt libraries into the myprog.app - this will be approximately 40 MB. I guess one could still do the manual process for small applications that do not need all the Qt libraries. Or maybe the unnecessary libraries can be removed again manually?

Revision as of 13:00, 26 February 2011

Once you got tired of reading and trying to comprehend Deploying an Application on Mac OS X in the Qt documentation, you realize at the bottom of the page that all you have to do is:

  1. Build your application in release mode
  2. Execute "macdeployqt myprog.app"
    • see -h for options
    • good to use -verbose=2

This will bundle all the Qt libraries into the myprog.app - this will be approximately 40 MB. I guess one could still do the manual process for small applications that do not need all the Qt libraries. Or maybe the unnecessary libraries can be removed again manually?

Note: http://doc.qt.nokia.com/4.7/mac-differences.html#bundle-based-libraries

To create a .dmg we can either use the -dmg option to macdeployqt or use the Mac Disk Utility as described here or here (without the encryption part).


Application and package icon

  1. Create an icon with size 512x512 pixels
  2. Drag and drop it into Icon Composer
    • Start with the largest one, then drag it to smaller ones.
  3. Save .icns file
    • Note: Icon Composer can also create .ico file but these use different sizes
  4. Edit project.pro and add: ICON = path/to/icons.icns[1]
    • Can be wrapped in a macx { ... } contditional,[2] see e.g. qthid-2.2
  5. Ejoy the results:

Note: We can also copy and paste .icns files in/out of the bundle and edit the .plist file.

During runtime the dock icon can be changed by calling QWidget::setWindowIcon() on the main window[3].

Including addition data

How?

References

  1. Setting the Application Icon
  2. Qt Forum: application icon
  3. Qt is Mac OS X Native

Bundle Programming Guide