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



  • 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



  • 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?



  • 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



  • 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
    @

    ?



  • 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)



  • 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
    @



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



  • Thx for your help.



  • 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]


Log in to reply
 

Looks like your connection to Qt Forum was lost, please wait while we try to reconnect.