Use "configure -static -release -no-exceptions" with QT 5.6 is impossible



  • Hi

    I would build a application static with QT 5.6 on window seven.

    I have looked "C:\Qt\5.6\mingw49_32\mkspecs\win32-g++" and "C:\Qt\5.6\mingw49_32\bin\qtenv2.bat" but I not have possibility to use command "configure " in "cmd.exe" with "qtenv2.bat".

    Do you can explain step by step how to make a application static ?

    I am French so, excuse my for my English.

    "cmd.exe" with "qtenv2.bat" :

    C:\Qt\5.6\mingw49_32\bin>qtenv2.bat
    Setting up environment for Qt usage...
    
    C:\Qt\5.6\mingw49_32>configure /?
    'configure' n'est pas reconnu en tant que commande interne
    ou externe, un programme exécutable ou un fichier de commandes.
    

    C:\Qt\5.6\mingw49_32\mkspecs\win32-g++:

    #
    # qmake configuration for win32-g++
    #
    # Written for MinGW / gcc 4.6 or higher
    #
    # Cross compile example for i686-w64-mingw32-g++:
    #   configure -xplatform win32-g++ -device-option CROSS_COMPILE=i686-w64-mingw32-
    #
    
    load(device_config)
    include(../common/angle.conf)
    
    MAKEFILE_GENERATOR      = MINGW
    QMAKE_PLATFORM          = win32 mingw
    CONFIG                 += debug_and_release debug_and_release_target precompile_header
    DEFINES                += UNICODE
    QMAKE_COMPILER_DEFINES += __GNUC__ WIN32
    
    QMAKE_EXT_OBJ           = .o
    QMAKE_EXT_RES           = _res.o
    
    QMAKE_COMPILER          = gcc
    
    QMAKE_CC                = $${CROSS_COMPILE}gcc
    QMAKE_LEX               = flex
    QMAKE_LEXFLAGS          =
    QMAKE_YACC              = bison -y
    QMAKE_YACCFLAGS         = -d
    QMAKE_CFLAGS            = -pipe -fno-keep-inline-dllexport
    QMAKE_CFLAGS_DEPS       = -M
    QMAKE_CFLAGS_WARN_ON    = -Wall -Wextra
    QMAKE_CFLAGS_WARN_OFF   = -w
    QMAKE_CFLAGS_RELEASE    = -O2
    QMAKE_CFLAGS_DEBUG      = -g
    QMAKE_CFLAGS_YACC       = -Wno-unused -Wno-parentheses
    QMAKE_CFLAGS_SPLIT_SECTIONS = -ffunction-sections
    QMAKE_CFLAGS_SSE2       = -msse2 -mstackrealign
    QMAKE_CFLAGS_SSE3       = -msse3
    QMAKE_CFLAGS_SSSE3      = -mssse3
    QMAKE_CFLAGS_SSE4_1     = -msse4.1
    QMAKE_CFLAGS_SSE4_2     = -msse4.2
    QMAKE_CFLAGS_AVX        = -mavx
    QMAKE_CFLAGS_AVX2       = -mavx2
    QMAKE_CFLAGS_NEON       = -mfpu=neon
    
    QMAKE_CXX               = $${CROSS_COMPILE}g++
    QMAKE_CXXFLAGS          = $$QMAKE_CFLAGS
    QMAKE_CXXFLAGS_DEPS     = $$QMAKE_CFLAGS_DEPS
    QMAKE_CXXFLAGS_WARN_ON  = $$QMAKE_CFLAGS_WARN_ON
    QMAKE_CXXFLAGS_WARN_OFF = $$QMAKE_CFLAGS_WARN_OFF
    QMAKE_CXXFLAGS_RELEASE  = $$QMAKE_CFLAGS_RELEASE
    QMAKE_CXXFLAGS_DEBUG    = $$QMAKE_CFLAGS_DEBUG
    QMAKE_CXXFLAGS_YACC     = $$QMAKE_CFLAGS_YACC
    QMAKE_CXXFLAGS_THREAD   = $$QMAKE_CFLAGS_THREAD
    QMAKE_CXXFLAGS_RTTI_ON  = -frtti
    QMAKE_CXXFLAGS_RTTI_OFF = -fno-rtti
    QMAKE_CXXFLAGS_EXCEPTIONS_ON = -fexceptions -mthreads
    QMAKE_CXXFLAGS_EXCEPTIONS_OFF = -fno-exceptions
    QMAKE_CXXFLAGS_CXX11    = -std=c++0x
    QMAKE_CXXFLAGS_CXX14    = -std=c++1y
    QMAKE_CXXFLAGS_CXX1Z    = -std=c++1z
    QMAKE_CXXFLAGS_GNUCXX11 = -std=gnu++0x
    QMAKE_CXXFLAGS_GNUCXX14 = -std=gnu++1y
    QMAKE_CXXFLAGS_GNUCXX1Z = -std=gnu++1z
    QMAKE_CXXFLAGS_SPLIT_SECTIONS = $$QMAKE_CFLAGS_SPLIT_SECTIONS
    
    QMAKE_INCDIR            =
    
    QMAKE_RUN_CC            = $(CC) -c $(CFLAGS) $(INCPATH) -o $obj $src
    QMAKE_RUN_CC_IMP        = $(CC) -c $(CFLAGS) $(INCPATH) -o $@ $<
    QMAKE_RUN_CXX           = $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $obj $src
    QMAKE_RUN_CXX_IMP       = $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $<
    
    QMAKE_LINK              = $${CROSS_COMPILE}g++
    QMAKE_LINK_C            = $${CROSS_COMPILE}gcc
    QMAKE_LFLAGS            =
    QMAKE_LFLAGS_EXCEPTIONS_ON = -mthreads
    QMAKE_LFLAGS_EXCEPTIONS_OFF =
    QMAKE_LFLAGS_RELEASE    = -Wl,-s
    QMAKE_LFLAGS_DEBUG      =
    QMAKE_LFLAGS_CONSOLE    = -Wl,-subsystem,console
    QMAKE_LFLAGS_WINDOWS    = -Wl,-subsystem,windows
    QMAKE_LFLAGS_DLL        = -shared
    QMAKE_LFLAGS_CXX11      =
    QMAKE_LFLAGS_CXX14      =
    QMAKE_LFLAGS_CXX1Z      =
    QMAKE_LFLAGS_GCSECTIONS = -Wl,--gc-sections
    QMAKE_LINK_OBJECT_MAX   = 10
    QMAKE_LINK_OBJECT_SCRIPT = object_script
    QMAKE_PREFIX_SHLIB      =
    QMAKE_EXTENSION_SHLIB   = dll
    QMAKE_PREFIX_STATICLIB  = lib
    QMAKE_EXTENSION_STATICLIB = a
    QMAKE_LIB_EXTENSIONS    = a dll.a
    
    QMAKE_LIBS              =
    QMAKE_LIBS_CORE         = -lole32 -luuid -lws2_32 -ladvapi32 -lshell32 -luser32 -lkernel32
    QMAKE_LIBS_GUI          = -lgdi32 -lcomdlg32 -loleaut32 -limm32 -lwinmm -lws2_32 -lole32 -luuid -luser32 -ladvapi32
    QMAKE_LIBS_NETWORK      = -lws2_32
    QMAKE_LIBS_OPENGL       = -lglu32 -lopengl32 -lgdi32 -luser32
    QMAKE_LIBS_OPENGL_ES2   = -l$${LIBEGL_NAME} -l$${LIBGLESV2_NAME} -lgdi32 -luser32
    QMAKE_LIBS_OPENGL_ES2_DEBUG = -l$${LIBEGL_NAME}d -l$${LIBGLESV2_NAME}d -lgdi32 -luser32
    QMAKE_LIBS_COMPAT       = -ladvapi32 -lshell32 -lcomdlg32 -luser32 -lgdi32 -lws2_32
    QMAKE_LIBS_QT_ENTRY     = -lmingw32 -lqtmain
    
    QMAKE_IDL               = midl
    QMAKE_LIB               = $${CROSS_COMPILE}ar -ru
    QMAKE_RC                = $${CROSS_COMPILE}windres
    
    QMAKE_STRIP             = $${CROSS_COMPILE}strip
    QMAKE_STRIPFLAGS_LIB   += --strip-unneeded
    QMAKE_OBJCOPY           = $${CROSS_COMPILE}objcopy
    QMAKE_NM                = $${CROSS_COMPILE}nm -P
    load(qt_config)
    
    

    "C:\Qt\5.6\mingw49_32\bin\qtenv2.bat":

    echo off
    echo Setting up environment for Qt usage...
    set PATH=C:\Qt\5.6\mingw49_32\bin;C:\Qt\Tools\mingw492_32\bin;%PATH%
    cd /D C:\Qt\5.6\mingw49_32
    
    

  • Lifetime Qt Champion

    Hi and welcome to devnet,

    If you want to rebuild Qt statically then you must first download the sources.

    Don't forget that using a static build of Qt as licensing constraints that you have to abide to.


Log in to reply
 

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