Qt Forum

    • Login
    • Search
    • Categories
    • Recent
    • Tags
    • Popular
    • Users
    • Groups
    • Search
    • Unsolved

    [solved] Qt5: Deploying an Application on Windows - Static Linking

    Installation and Deployment
    3
    9
    9106
    Loading More Posts
    • 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.
    • M
      michal.lohnisky last edited by

      Hello,

      I downloaded qt-everywhere-opensource-src-5.1.0.zip and followed tutorial at
      "http://qt-project.org/doc/qt-5.0/qtdoc/deployment-windows.html":http://qt-project.org/doc/qt-5.0/qtdoc/deployment-windows.html
      with these parametres:
      @
      configure -prefix

      1 Reply Last reply Reply Quote 0
      • M
        michal.lohnisky last edited by

        Shouldn't I have libQt5Multimedia.a or something similar in C:\Qt\qt-everywhere-opensource-src-5.1.0\qtbase\lib? Because I have libQt5Core.a, libQt5Gui.a, libQt5Network.a and libQt5Widgets.a in there.

        How can I force configure (and mingw32-make) to create libQt5Multimedia.a?

        1 Reply Last reply Reply Quote 0
        • C
          compor last edited by

          it seems that the Qt Multimedia module is missing, as it is also indicated by the relevant qmake error.
          you can also verify this by checking if the qtmultimedia directory is present in the Qt source directory (it's most likely missing).

          head over to "qt downloads":http://download.qt-project.org/development_releases/qt/5.1/ and after you select your version of Qt 5.1, head over to the submodules directory and locate the qtmultimedia package.

          download, follow the instructions and install it. just make sure you provide the same path for it as the rest of your already installed Qt has
          (although, i don't recall if it's asked during the build/installation)

          hope this helps

          purposes as understood by the purposer will be misunderstood by others

          1 Reply Last reply Reply Quote 0
          • M
            michal.lohnisky last edited by

            It was first thing I checked. There is qtmultimedia directory in C:\Qt\Qt5.0.2\5.0.2\qt-everywhere-opensource-src-5.1.0, so I think I have configure with bad/incomplete parameters.

            There is the tail of configures output:
            @
            Environment:
            INCLUDE=
            Unset
            LIB=
            Unset
            PATH=
            C:\Python27
            C:\Python27\Scripts
            C:\Perl\site\bin
            C:\Perl\bin
            C:\Windows\system32
            C:\Windows
            C:\Windows\System32\Wbem
            C:\Windows\System32\WindowsPowerShell\v1.0
            C:\Program Files\MATLAB\R2009a\bin
            C:\Program Files\MATLAB\R2009a\bin\win32
            C:\Qt\qtcreator-2.5.2\bin
            C:\Qt\Qt5.0.2\5.0.2\mingw47_32\bin
            C:\Qt\Qt5.0.2\Tools\MinGW\bin
            C:\Ruby193\bin
            C:\Users\michal\AppData\Roaming\Python\Scripts
            Configuration:
            minimal-config
            small-config
            medium-config
            large-config
            full-config
            pcre
            debug
            compile_examples
            Qt Configuration:
            debug_and_release build_all release
            debug
            c++11
            static
            system-zlib
            gif
            jpeg
            png
            freetype
            build_all
            accessibility
            audio-backend
            native-gestures
            qpa
            iconv
            concurrent
            minimal-config
            small-config
            medium-config
            large-config
            full-config

            QMAKESPEC...................win32-g++ (commandline)
            Architecture................i386, features:
            Host Architecture...........i386, features:
            Maketool....................mingw32-make
            Debug build.................yes (combined)
            Default build...............debug
            Force debug info............no
            C++11 support...............yes
            Link Time Code Generation...no
            Accessibility support.......yes
            RTTI support................yes
            SSE2 support................yes
            SSE3 support................yes
            SSSE3 support...............yes
            SSE4.1 support..............yes
            SSE4.2 support..............yes
            AVX support.................yes
            AVX2 support................yes
            NEON support................no
            IWMMXT support..............no
            OpenGL support..............no
            Large File support..........yes
            NIS support.................no
            Iconv support...............yes
            Inotify support.............no
            eventfd(7) support..........no
            Glib support................no
            CUPS support................no
            OpenVG support..............no
            OpenSSL support.............no
            Qt D-Bus support............no
            Qt Widgets module support...yes
            Qt GUI module support.......yes
            QML debugging...............yes
            DirectWrite support.........no
            Use system proxies..........no

            Third Party Libraries:
            ZLIB support............system
            GIF support.............yes
            JPEG support............yes
            PNG support.............yes
            FreeType support........yes

            PCRE support............qt
            ICU support.............no
            ANGLE...................no
            

            Styles:
            Windows.................yes
            Windows XP..............yes
            Windows Vista...........yes
            Fusion..................yes
            Windows CE..............no
            Windows Mobile..........no

            Sql Drivers:
            ODBC....................no
            MySQL...................no
            OCI.....................no
            PostgreSQL..............no
            TDS.....................no
            DB2.....................no
            SQLite..................yes (qt)
            SQLite2.................no
            InterBase...............no

            Sources are in..............C:\Qt\Qt5.0.2\5.0.2\qt-everywhere-opensource-src-5.1.0\qtbase
            Build is done in............C:\Qt\Qt5.0.2\5.0.2\qt-everywhere-opensource-src-5.1.0\qtbase
            Install prefix..............C:\Qt\Qt5.0.2\5.0.2\qt-everywhere-opensource-src-5.1.0\qtbase
            Headers installed to........C:\Qt\Qt5.0.2\5.0.2\qt-everywhere-opensource-src-5.1.0\qtbase\include
            Libraries installed to......C:\Qt\Qt5.0.2\5.0.2\qt-everywhere-opensource-src-5.1.0\qtbase\lib
            Arch-dep. data to...........C:\Qt\Qt5.0.2\5.0.2\qt-everywhere-opensource-src-5.1.0\qtbase
            Plugins installed to........C:\Qt\Qt5.0.2\5.0.2\qt-everywhere-opensource-src-5.1.0\qtbase\plugins
            Library execs installed to..C:\Qt\Qt5.0.2\5.0.2\qt-everywhere-opensource-src-5.1.0\qtbase\bin
            QML1 imports installed to...C:\Qt\Qt5.0.2\5.0.2\qt-everywhere-opensource-src-5.1.0\qtbase\imports
            QML2 imports installed to...C:\Qt\Qt5.0.2\5.0.2\qt-everywhere-opensource-src-5.1.0\qtbase\qml
            Binaries installed to.......C:\Qt\Qt5.0.2\5.0.2\qt-everywhere-opensource-src-5.1.0\qtbase\bin
            Arch-indep. data to.........C:\Qt\Qt5.0.2\5.0.2\qt-everywhere-opensource-src-5.1.0\qtbase
            Docs installed to...........C:\Qt\Qt5.0.2\5.0.2\qt-everywhere-opensource-src-5.1.0\qtbase\doc
            Translations installed to...C:\Qt\Qt5.0.2\5.0.2\qt-everywhere-opensource-src-5.1.0\qtbase\translations
            Examples installed to.......C:\Qt\Qt5.0.2\5.0.2\qt-everywhere-opensource-src-5.1.0\qtbase\examples
            Tests installed to..........C:\Qt\Qt5.0.2\5.0.2\qt-everywhere-opensource-src-5.1.0\qtbase\tests
            WARNING: Using static linking will disable the use of plugins.
            Make sure you compile ALL needed modules into the library.

            Generating Makefiles...

            Qt is now configured for building. Just run mingw32-make.
            To reconfigure, run mingw32-make confclean and configure.

            • qtbase\bin\qmake C:\Qt\Qt5.0.2\5.0.2\qt-everywhere-opensource-src-5.1.0
              Info: creating super cache file C:/Qt/Qt5.0.2/5.0.2/qt-everywhere-opensource-src
              -5.1.0/.qmake.super
              @

            Shouldn't be there something like
            @
            Qt Multimedia module support...yes
            @

            near lines

            @
            Qt Widgets module support...yes
            Qt GUI module support.......yes
            @

            ?

            1 Reply Last reply Reply Quote 0
            • C
              compor last edited by

              i don't think qt-everywhere contains every possible submodule, and if that is so, that's why you don't see the lines you suggested in you last post.

              either try the installers from "here":http://download.qt-project.org/official_releases/qt/5.1/5.1.0/ (top level directory)

              or

              try installing the qtmultimedia submodule as i suggested in last post (also the link above "submodules" directory)

              purposes as understood by the purposer will be misunderstood by others

              1 Reply Last reply Reply Quote 0
              • M
                michal.lohnisky last edited by

                I figured it out. There is qtmultimedia folder in qt-everywhere, but the configure does not create a Makefile (don't know why), so I had to create it manualy. There are updated steps I used to build Qt5 statically:
                @
                configure -static -debug-and-release -opensource -nomake tests -nomake examples -skip declarative -skip quick1 -skip quickcontrols -qt-libpng -qt-libjpeg -no-opengl -platform win32-g++
                mingw32-make
                @
                @
                cd qtmultimedia
                C:\Qt\Qt5.0.2\5.0.2\qt-everywhere-opensource-src-5.1.0\qtbase\bin\qmake C:\Qt\Qt5.0.2\5.0.2\qt-everywhere-opensource-src-5.1.0\qtmultimedia\qtmultimedia.pro -o Makefile
                mingw32-make -f Makefile
                cd ../
                @
                @
                mingw32-make
                mingw32-make install
                @

                1 Reply Last reply Reply Quote 0
                • C
                  compor last edited by

                  ah, i'm glad cause dusting off my windows partition and trying to install it there was gonna take a while.

                  purposes as understood by the purposer will be misunderstood by others

                  1 Reply Last reply Reply Quote 1
                  • M
                    michal.lohnisky last edited by

                    Thx for your help.

                    1 Reply Last reply Reply Quote 0
                    • V
                      VoiD last edited by

                      I will try that !
                      Thank you !

                      [quote author="michal.lohnisky" date="1376844399"]I figured it out. There is qtmultimedia folder in qt-everywhere, but the configure does not create a Makefile (don't know why), so I had to create it manualy. There are updated steps I used to build Qt5 statically:
                      @
                      configure -static -debug-and-release -opensource -nomake tests -nomake examples -skip declarative -skip quick1 -skip quickcontrols -qt-libpng -qt-libjpeg -no-opengl -platform win32-g++
                      mingw32-make
                      @
                      @
                      cd qtmultimedia
                      C:\Qt\Qt5.0.2\5.0.2\qt-everywhere-opensource-src-5.1.0\qtbase\bin\qmake C:\Qt\Qt5.0.2\5.0.2\qt-everywhere-opensource-src-5.1.0\qtmultimedia\qtmultimedia.pro -o Makefile
                      mingw32-make -f Makefile
                      cd ../
                      @
                      @
                      mingw32-make
                      mingw32-make install
                      @[/quote]

                      1 Reply Last reply Reply Quote 0
                      • First post
                        Last post