Recent

Author Topic: [solved] Deploying application with Qt interface  (Read 6853 times)

Ocye

  • Hero Member
  • *****
  • Posts: 518
    • Scrabble3D
[solved] Deploying application with Qt interface
« on: June 02, 2012, 02:34:58 pm »
The wiki says I shouldn't care about X11 and GTk but doesn't tells me anything what to distribute. My file has, of course, dependency to qt4pas framework.
Quote from: otool -L
   /usr/lib/libiconv.2.dylib (compatibility version 7.0.0, current version 7.0.0)
   /usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 125.2.0)
   /System/Library/Frameworks/Carbon.framework/Versions/A/Carbon (compatibility version 2.0.0, current version 152.0.0)
   Qt4Pas.framework/Versions/5/Qt4Pas (compatibility version 5.2.0, current version 5.2.5)
   /System/Library/Frameworks/CoreServices.framework/Versions/A/CoreServices (compatibility version 1.0.0, current version 44.0.0)
   /System/Library/Frameworks/CoreFoundation.framework/Versions/A/CoreFoundation (compatibility version 150.0.0, current version 550.29.0)

Qt4 itself is linked to all Qt stuff which I downloaded from Nokia.
Quote from: otool -L /Library/Frameworks/Qt4Pas.framework/Qt4Pas
   Qt4Pas.framework/Versions/5/Qt4Pas (compatibility version 5.2.0, current version 5.2.5)
   QtWebKit.framework/Versions/4/QtWebKit (compatibility version 4.7.0, current version 4.7.3)
   QtGui.framework/Versions/4/QtGui (compatibility version 4.7.0, current version 4.7.3)
   QtNetwork.framework/Versions/4/QtNetwork (compatibility version 4.7.0, current version 4.7.3)
   QtCore.framework/Versions/4/QtCore (compatibility version 4.7.0, current version 4.7.3)
   /usr/lib/libstdc++.6.dylib (compatibility version 7.0.0, current version 7.4.0)
   /usr/lib/libgcc_s.1.dylib (compatibility version 1.0.0, current version 1.0.0)
   /usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 111.1.4)

As a Linux user it's very uncommon to me to distribute libs. I'm afraid to override other versions. On the other hand, I don't think Mac-users will install Qt from Nokia. What should I do to distribute a complete application?
« Last Edit: June 03, 2012, 01:24:24 pm by Ocye »
Lazarus 1.7 (SVN) FPC 3.0.0

Leledumbo

  • Hero Member
  • *****
  • Posts: 8757
  • Programming + Glam Metal + Tae Kwon Do = Me
Re: Deploying application with Qt interface
« Reply #1 on: June 02, 2012, 02:44:23 pm »
Quote
What should I do to distribute a complete application?
Only Qt4Pas and your app, just say Qt as part of the system requirement. For Mac, you could use the Carbon interface if you don't want your users to download additional libs.

Ocye

  • Hero Member
  • *****
  • Posts: 518
    • Scrabble3D
Re: Deploying application with Qt interface
« Reply #2 on: June 02, 2012, 02:57:51 pm »
I don't want to use Carbon because of it's lack of user driven painting. And I don't want to force a normal user to fiddle around with libraries that my program needs. If there would be some kind of repository I could refer to...
Lazarus 1.7 (SVN) FPC 3.0.0

Leledumbo

  • Hero Member
  • *****
  • Posts: 8757
  • Programming + Glam Metal + Tae Kwon Do = Me
Re: Deploying application with Qt interface
« Reply #3 on: June 02, 2012, 03:56:56 pm »
Hmm... it would be quite hard for you to distribute if you want single package solution. However, if your user don't mind, I guess you could give all libraries that are listed by `ldd <your executable>`.

Jonas Maebe

  • Hero Member
  • *****
  • Posts: 1059

Ocye

  • Hero Member
  • *****
  • Posts: 518
    • Scrabble3D
Re: Deploying application with Qt interface
« Reply #5 on: June 03, 2012, 01:15:53 pm »
Thanks for the link. The clue is on the bottom: "</usr/bin/>macdeployqt <project.app> -no-plugin -dmg". Very simple.
Unfortunately, the app becomes quite fat: 85MB (35MB in dmg). But those people that uses an Apple needs to get punished a little bit. :-[

PS: I added a short passage to the wiki.
« Last Edit: June 03, 2012, 08:01:38 pm by Ocye »
Lazarus 1.7 (SVN) FPC 3.0.0

Shebuka

  • Sr. Member
  • ****
  • Posts: 427
Re: [solved] Deploying application with Qt interface
« Reply #6 on: June 04, 2012, 10:15:36 am »
The guide also says that
Quote
Your application will depend on the Qt4 Framework Library and on Qt4 Interface Binary Bindings. But you can put them inside your application bundle like you do with .dylib following OS X Programming Tips#Using a library in a Mac application.

But i think that the bundle will be much bigger that using macdeployqt.

 

TinyPortal © 2005-2018