Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Groups
  • Search
  • Get Qt Extensions
  • Unsolved
Collapse
Brand Logo
  1. Home
  2. Qt Development
  3. General and Desktop
  4. Tutorial: Bundle Qt Runtime to Single Executable
Forum Updated to NodeBB v4.3 + New Features

Tutorial: Bundle Qt Runtime to Single Executable

Scheduled Pinned Locked Moved General and Desktop
9 Posts 4 Posters 10.2k Views 1 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • E Offline
    E Offline
    Enigma
    wrote on 8 Dec 2011, 15:32 last edited by
    #1

    Hi everyone,

    I think it would be interesting to know about ability to merge Qt runtime dll dependences (like QtCore4.dll, QtGui4.dll and any others) to a single executable (for Windows only) + ability to compress these files to decrease the size of Qt application.

    Link to tutorial is: http://www.softwareprotection.info/2011/12/application-virtualization-bundle-qt-runtime-to-single-executable-for-windows/

    Both programs mentioned in the blog supports Windows x86 and x64.

    Hope you find it useful.

    1 Reply Last reply
    0
    • P Offline
      P Offline
      p-himik
      wrote on 9 Dec 2011, 04:36 last edited by
      #2

      If i recall correct LGPL forces you to give users of your application the ability to replace Qt libraries with newer versions. So you can't bundle Qt libraries under this licence.
      On the other hand there is commercial licence. And with it you can just compile Qt libraries statically with your application.
      Please correct me if i'm wrong.

      1 Reply Last reply
      0
      • P Offline
        P Offline
        p-himik
        wrote on 9 Dec 2011, 04:37 last edited by
        #3

        And anyway thanks for the useful link!

        1 Reply Last reply
        0
        • E Offline
          E Offline
          Enigma
          wrote on 9 Dec 2011, 08:50 last edited by
          #4

          Hi p-himik,

          Sorry if I did not understand your question right... but I did not mean to replace Qt libraries, just bundle the,.

          Enigma Virtual Box (freeware) and Enigma Protector (commercial) allows to bundle dll dependences to a single exe file.

          For example, when you compile your Qt application for Windows, it becomes to require Qt runtime libraries: QtCore4.dll, QtQui4.dll, QtSql4.dll, QtOPenGL4.dll etc etc, there are a lot of them. To distribute such application to end user, you will have to make an installer, that includes all these files. But, applying virtualization, as written in the post, you merge all these files into one single executable, and finally you will have to provide your end customer only this single executable that runs without installation and without Qt runtime.

          Regarding of LGPL license, are the Qt runtime under such kind of license? Anyway, this does not prevent you bundling of dll files.

          Please write me back if you have other questions, I would be glad to help.

          1 Reply Last reply
          0
          • P Offline
            P Offline
            p-himik
            wrote on 9 Dec 2011, 09:04 last edited by
            #5

            Sorry, i forgot that Qt goes not only under LGPL and commercial licence but also under GPL. So you can use Enigma either for opensource or for Qt commercial.

            1 Reply Last reply
            0
            • E Offline
              E Offline
              Enigma
              wrote on 9 Dec 2011, 09:13 last edited by
              #6

              just to avoid misunderstanding, can you please tell me (I'm not very aware of Qt development), Qt runtime libraries really can be statically compiled to the output executable?

              I thought it can't, that's because we made such tutorial..

              1 Reply Last reply
              0
              • S Offline
                S Offline
                sierdzio
                Moderators
                wrote on 9 Dec 2011, 09:22 last edited by
                #7

                Yes, they can - but again, you have to be careful about licensing. It has to be either fully GPL'ed or commercial.

                (Z(:^

                1 Reply Last reply
                0
                • E Offline
                  E Offline
                  Enigma
                  wrote on 9 Dec 2011, 09:27 last edited by
                  #8

                  Ok, understand, thanks for the clarification!

                  1 Reply Last reply
                  0
                  • G Offline
                    G Offline
                    goetz
                    wrote on 9 Dec 2011, 11:28 last edited by
                    #9

                    Additionally, using QtWebKit with statically compiled Qt is not supported.

                    http://www.catb.org/~esr/faqs/smart-questions.html

                    1 Reply Last reply
                    0

                    1/9

                    8 Dec 2011, 15:32

                    • Login

                    • Login or register to search.
                    1 out of 9
                    • First post
                      1/9
                      Last post
                    0
                    • Categories
                    • Recent
                    • Tags
                    • Popular
                    • Users
                    • Groups
                    • Search
                    • Get Qt Extensions
                    • Unsolved