Important: Please read the Qt Code of Conduct -

Bundling Qt frameworks with application with a .bundle extension ?

  • I have been trying to follow the instructions for application deployment:
    "Deploying an Application on Mac OS X":
    However my application requires that I use the .bundle format. As a result when I try:
    @ mkdir myApp.bundle/Contents/Frameworks
    cp -R /path/to/Qt/lib/QtCore.framework
    cp -R /path/to/Qt/lib/QtGui.framework
    I get an error saying "myApp.bundle: Not a directory". Am I missing something. Is there a way to bundle the Qt frameworks with my application with a .bundle extension?

  • plain mkdir only creates the last directory in the path (Frameworks in your case), just add the -p switch to create all missing parent dirs:

    mkdir -p myApp.bundle/Contents/Frameworks

  • Hmm... I actually already tried that as well. However I still get the same error. Any other suggestions?

  • Does myApp.bundle exist? If yes, is it a file or a directory?

  • Yes myApp.bundle does exist. However, I am beginning to think that it is a file. For example when I run: @otool -L myApp.bundle/Contents/@
    I get an error. However when I run:
    @otool -L myApp.bundle@
    I get a list of the libraries my application is linked to. Also, I know this will sound totally novice, but by default my application has a white "Lego" type icon the represents it. I also did a search on my machine for similar type files and there seems to be two kinds of .bundle files. Some of them have the "Lego" icons like mine and there are others that share the ".bundle" extension with a different icon (A white page) and those I can add directories to. So my thinking is that my .bundle is not a directory but rather a file. I hope this helps better explain what I have. Also if what I have is a file what are the steps to making a .bundle that is a directory.

  • I found a solution. I was able to point to the correct libraries in the make file before building the .bundle.

Log in to reply