Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Groups
  • Search
  • Get Qt Extensions
  • Unsolved
Collapse
Brand Logo
  1. Home
  2. International
  3. Portuguese
  4. Compilação Estática (Static build) Qt 5.0.2 MinGW
Qt 6.11 is out! See what's new in the release blog

Compilação Estática (Static build) Qt 5.0.2 MinGW

Scheduled Pinned Locked Moved Portuguese
32 Posts 5 Posters 23.5k 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.
  • T Offline
    T Offline
    TioRoy
    wrote on last edited by
    #10

    Bom, pelo erro e pelo tamanho do exe, não compilou estático como você mesmo viu.

    Você consegue ver se no diretório do Qt que você compilou estático tem DLL's?
    Quem colocou o Qt5 no PATH? Você tem o Qt5 (shared) instalado também?

    Aqui em casa uso Linux.... mas no trabalho uso Windows 7 64bits.
    Vou tentar reproduzir lá amanhã.

    Mas quando você tem várias versões de Qt instaladas, acho melhor usar o QtCreator, que fica mais fácil de selecionar qual versão você quer usar.

    1 Reply Last reply
    0
    • F Offline
      F Offline
      Filippe
      wrote on last edited by
      #11

      bq. Você consegue ver se no diretório do Qt que você compilou estático tem DLL’s?

      Não entendi muito bem a pergunta, mas para tentar esclarecer eu instalei o Qt no meu PC com esse executável:
      "qt-windows-opensource-5.0.2-mingw47_32-x86-offline.exe"

      Depois tentei fazer a compilação estática através do "Qt 5.0.2 for Desktop (MinGW 4.7)" (com os passos citados no dia 25 de julho)

      bq. Quem colocou o Qt5 no PATH?

      Fui eu, pois em alguns artigos diziam que o "Qt 5.0.2 for Desktop (MinGW 4.7)" precisava ter sua biblioteca no PATH para funcionar:
      ...qt\5.0.2\mingw47_32\bin

      bq. Você tem o Qt5 (shared) instalado também?

      Como já deve ter notado, não conheço muita coisa do Qt. Esse "Qt5 (shared)" não sei se tenho instalado, pois não sei o que é.

      1 Reply Last reply
      0
      • F Offline
        F Offline
        Filippe
        wrote on last edited by
        #12

        Eu disse algo errado?
        Ainda preciso de ajuda, pois meu problema não está resolvido.

        Caso alguém já tenha feito funcionar o "Qt 5.0.2 MinGW" no "windows 7 64bits", preciso de ajuda.

        1 Reply Last reply
        0
        • T Offline
          T Offline
          TioRoy
          wrote on last edited by
          #13

          Quando disse "Qt5 (Shared)" e pelo erro "está faltando Qt5Core.dll ", você tem as dll's Qt5 .

          Quando você compila o Qt, você precisa rodar o qmake que você compilou primeiro, e depois o mingw32-make.

          1 Reply Last reply
          0
          • F Offline
            F Offline
            Filippe
            wrote on last edited by
            #14

            Não entendi muito bem em qual passo estou errado?

            bq. 1 – Adicionei a configuração (-static -static-libgcc) na linha ‘QMAKE_LFLAGS = ‘ <QTDIR>\mkspecs\win32-g++\qmake.conf
            2 – depois executei no Qt 5.0.2 for Desktop (MinGW 4.7)

            configure -platform win32-g++ -static -release -nomake examples -nomake demos -no-vcproj -no-cetest -qt-sql-mysql -plugin-sql-mysql -no-opengl -no-openvg -no-incredibuild-xge
            3 – prossegui com
            mingw32-make sub-src
            Não apareceu nenhum erro no processo.
            4 – Criei um programa simples
            5 – Adicionei o .pro
            CONFIG += static
            6 – Compilei com ‘release’.

            1 Reply Last reply
            0
            • T Offline
              T Offline
              TioRoy
              wrote on last edited by
              #15

              No passo 6, você executa o qmake e depois o mingw32-make, certo?

              Antes de executar o passo 6, rode:

              @
              qmake -v
              @

              e depois

              @
              qmake -query
              @

              Assim vamos ter certeza que você está usando o Qt que você compilou.

              1 Reply Last reply
              0
              • F Offline
                F Offline
                Filippe
                wrote on last edited by
                #16

                Não, o passo 6 eu já estou com a compilação pronta e estou usando o Qt para compilar um programa teste.
                Acho que você quis dizer o passo 3, vou tentar com ele e dou o retorno.

                1 Reply Last reply
                0
                • F Offline
                  F Offline
                  Filippe
                  wrote on last edited by
                  #17

                  Antes do passo 3:
                  @
                  D:\qt\5.0.2\Src\qtbase>qmake -v
                  QMake version 3.0
                  Using Qt version 5.0.2 in D:\qt\5.0.2\mingw47_32\lib@

                  @D:\qt\5.0.2\Src\qtbase>qmake -query
                  QT_SYSROOT:
                  QT_INSTALL_PREFIX:D:\qt\5.0.2\mingw47_32
                  QT_INSTALL_ARCHDATA:D:\qt\5.0.2\mingw47_32
                  QT_INSTALL_DATA:D:\qt\5.0.2\mingw47_32
                  QT_INSTALL_DOCS:D:\qt\5.0.2\mingw47_32\doc
                  QT_INSTALL_HEADERS:D:\qt\5.0.2\mingw47_32\include
                  QT_INSTALL_LIBS:D:\qt\5.0.2\mingw47_32\lib
                  QT_INSTALL_LIBEXECS:D:\qt\5.0.2\mingw47_32\libexec
                  QT_INSTALL_BINS:D:\qt\5.0.2\mingw47_32\bin
                  QT_INSTALL_TESTS:D:\qt\5.0.2\mingw47_32\tests
                  QT_INSTALL_PLUGINS:D:\qt\5.0.2\mingw47_32\plugins
                  QT_INSTALL_IMPORTS:D:\qt\5.0.2\mingw47_32\imports
                  QT_INSTALL_QML:D:\qt\5.0.2\mingw47_32\qml
                  QT_INSTALL_TRANSLATIONS:D:\qt\5.0.2\mingw47_32\translations
                  QT_INSTALL_CONFIGURATION:
                  QT_INSTALL_EXAMPLES:D:\qt\5.0.2\mingw47_32\examples
                  QT_INSTALL_DEMOS:D:\qt\5.0.2\mingw47_32\examples
                  QT_HOST_PREFIX:D:\qt\5.0.2\mingw47_32
                  QT_HOST_DATA:D:\qt\5.0.2\mingw47_32
                  QT_HOST_BINS:D:\qt\5.0.2\mingw47_32\bin
                  QMAKE_SPEC:win32-g++
                  QMAKE_XSPEC:win32-g++
                  QMAKE_VERSION:3.0
                  QT_VERSION:5.0.2@

                  Depois do passo 3:

                  @D:\qt\5.0.2\Src\qtbase>qmake -v
                  QMake version 3.0
                  Using Qt version 5.0.2 in D:\qt\5.0.2\mingw47_32\lib@

                  @D:\qt\5.0.2\Src\qtbase>qmake -query
                  QT_SYSROOT:
                  QT_INSTALL_PREFIX:D:\qt\5.0.2\mingw47_32
                  QT_INSTALL_ARCHDATA:D:\qt\5.0.2\mingw47_32
                  QT_INSTALL_DATA:D:\qt\5.0.2\mingw47_32
                  QT_INSTALL_DOCS:D:\qt\5.0.2\mingw47_32\doc
                  QT_INSTALL_HEADERS:D:\qt\5.0.2\mingw47_32\include
                  QT_INSTALL_LIBS:D:\qt\5.0.2\mingw47_32\lib
                  QT_INSTALL_LIBEXECS:D:\qt\5.0.2\mingw47_32\libexec
                  QT_INSTALL_BINS:D:\qt\5.0.2\mingw47_32\bin
                  QT_INSTALL_TESTS:D:\qt\5.0.2\mingw47_32\tests
                  QT_INSTALL_PLUGINS:D:\qt\5.0.2\mingw47_32\plugins
                  QT_INSTALL_IMPORTS:D:\qt\5.0.2\mingw47_32\imports
                  QT_INSTALL_QML:D:\qt\5.0.2\mingw47_32\qml
                  QT_INSTALL_TRANSLATIONS:D:\qt\5.0.2\mingw47_32\translations
                  QT_INSTALL_CONFIGURATION:
                  QT_INSTALL_EXAMPLES:D:\qt\5.0.2\mingw47_32\examples
                  QT_INSTALL_DEMOS:D:\qt\5.0.2\mingw47_32\examples
                  QT_HOST_PREFIX:D:\qt\5.0.2\mingw47_32
                  QT_HOST_DATA:D:\qt\5.0.2\mingw47_32
                  QT_HOST_BINS:D:\qt\5.0.2\mingw47_32\bin
                  QMAKE_SPEC:win32-g++
                  QMAKE_XSPEC:win32-g++
                  QMAKE_VERSION:3.0
                  QT_VERSION:5.0.2@

                  1 Reply Last reply
                  0
                  • F Offline
                    F Offline
                    Filippe
                    wrote on last edited by
                    #18

                    Não funcionou.

                    1 Reply Last reply
                    0
                    • J Offline
                      J Offline
                      josuegomes
                      wrote on last edited by
                      #19

                      bq. mas para tentar esclarecer eu instalei o Qt no meu PC com esse executável:
                      “qt-windows-opensource-5.0.2-mingw47_32-x86-offline.exe”

                      Estes pacotes não têm as bibliotecas estáticas. Você teria que compilar a Qt toda a partir do código fonte e gerar as suas próprias bibliotecas estáticas.

                      1 Reply Last reply
                      0
                      • F Offline
                        F Offline
                        Filippe
                        wrote on last edited by
                        #20

                        Ok, vou tentar compilar o Qt completo.

                        Você sabe de algum tutorial que ensina a compilar o Qt 5.0.2 completo?

                        1 Reply Last reply
                        0
                        • J Offline
                          J Offline
                          josuegomes
                          wrote on last edited by
                          #21

                          Acho que não existe um tutorial perfeito. Eu consegui compilar juntando informações aqui e ali e fazendo muitas tentativas.
                          Um bom começo é este tutorial:

                          http://silmor.de/qtstuff.qt5mingw.php

                          Se tiver alguma dúvida poste aqui.

                          1 Reply Last reply
                          0
                          • F Offline
                            F Offline
                            Filippe
                            wrote on last edited by
                            #22

                            Ok, vou seguir esse tutorial e respondo assim que tiver uma dúvida ou se tiver conseguido concluir.
                            Obrigado.

                            1 Reply Last reply
                            0
                            • F Offline
                              F Offline
                              Filippe
                              wrote on last edited by
                              #23

                              Comecei a entender o processo.

                              Já construí o ICU, porém na hora de usar o MSYS para construir o openssl-1.0.1e:

                              @$ make depend && make && make install@

                              dá esse erro:

                              bq. libcrypto.a(bn_gf2m.o):bn_gf2m.c:(.text+0x8db): undefined reference to 'bn_GF2m_mul_2x2'
                              collect2.exe: error: Id returned 1 exit status
                              make[4]: *** [link_a.cygwin] Error 1
                              make[4]: Leaving directory '/home/filippe/openssl-1.0.1e'
                              make[3]: *** [do_cygwin-shared] Error 2
                              make[3]: Leaving directory '/home/filippe/openssl-1.0.1e'
                              make[2]: *** [libcrypto.dll.a] Error 2
                              make[2]: Leaving directory '/home/filippe/openssl-1.0.1e'
                              make[1]: *** [shared] Error 2
                              make[1]: Leaving directory '/home/filippe/openssl-1.0.1e/crypto'
                              make[4]: *** [build_crypto] Error 1

                              Existe, para outro tipo de erro, uma recomendação dada:

                              bq. Use MSYS perl
                              or change crypto/perlasm/x86_64-xlate.pl as mentioned in the e-mail thread.

                              Mas não entendi como usar o "MSYS perl", pois já tenho a localização da pasta do perl no meu PATH do Windows.

                              Existem uma forma de resolver esse problema?

                              Obs: Estou fazendo essa parte: http://qt-project.org/wiki/Compiling-OpenSSL-with-MinGW

                              1 Reply Last reply
                              0
                              • J Offline
                                J Offline
                                josuegomes
                                wrote on last edited by
                                #24

                                No prompt do MSYS execute:

                                perl -V

                                e coloque o resultado aqui

                                1 Reply Last reply
                                0
                                • J Offline
                                  J Offline
                                  josuegomes
                                  wrote on last edited by
                                  #25

                                  A maneira como eu compilo o OpenSSL no prompt do MSYS:

                                  ./Configure mingw
                                  make

                                  Só isso é suficiente.

                                  1 Reply Last reply
                                  0
                                  • T Offline
                                    T Offline
                                    tamireswirth
                                    wrote on last edited by
                                    #26

                                    Boa tarde.

                                    A partir de hoje de manhã meu computador começou a apresentar o seguinte erro:

                                    bq. "O programa não pode ser iniciado porque está faltando qt5core.dll no seu computador. Tente reinstalá-lo para resolver esse problema."

                                    Através das buscas, achei esse fórum e gostaria de saber como posso solucionar isso.
                                    Obrigada.

                                    1 Reply Last reply
                                    0
                                    • J Offline
                                      J Offline
                                      josuegomes
                                      wrote on last edited by
                                      #27

                                      [quote author="tamireswirth" date="1379967831"]Boa tarde.

                                      A partir de hoje de manhã meu computador começou a apresentar o seguinte erro:

                                      bq. "O programa não pode ser iniciado porque está faltando qt5core.dll no seu computador. Tente reinstalá-lo para resolver esse problema."

                                      Através das buscas, achei esse fórum e gostaria de saber como posso solucionar isso.
                                      Obrigada.[/quote]

                                      Tamires,

                                      Este fórum é para desenvolvedores que usam a biblioteca Qt. O seu problema é outro. Entre em contato com o fabricante do programa que você está tentando iniciar e peça ajuda.

                                      1 Reply Last reply
                                      0
                                      • F Offline
                                        F Offline
                                        Filippe
                                        wrote on last edited by
                                        #28

                                        [quote author="josuegomes" date="1379965936"]No prompt do MSYS execute:

                                        perl -V

                                        e coloque o resultado aqui
                                        [/quote]

                                        Como você pediu, aí está o resultado:

                                        @$ perl -V
                                        Set up gcc environment - gcc.exe (rev5, Built by MinGW-W64 project) 4.8.1
                                        Summary of my perl5 (revision 5 version 16 subversion 3) configuration:

                                        Platform:
                                        osname=MSWin32, osvers=5.2, archname=MSWin32-x64-multi-thread
                                        uname=''
                                        config_args='undef'
                                        hint=recommended, useposix=true, d_sigaction=undef
                                        useithreads=define, usemultiplicity=define
                                        useperlio=define, d_sfio=undef, uselargefiles=define, usesocks=undef
                                        use64bitint=define, use64bitall=undef, uselongdouble=undef
                                        usemymalloc=n, bincompat5005=undef
                                        Compiler:
                                        cc='d:\QtStatic\MINGW-~1\X64-48~1.1-W\mingw64\bin\gcc.exe', ccflags ='-DNDEB
                                        UG -DWIN32 -D_CONSOLE -DNO_STRICT -DWIN64 -DCONSERVATIVE -DPERL_TEXTMODE_SCRIPTS
                                        -DUSE_SITECUSTOMIZE -DPERL_IMPLICIT_CONTEXT -DPERL_IMPLICIT_SYS -DUSE_PERLIO -D
                                        HASATTRIBUTE -fno-strict-aliasing -mms-bitfields',
                                        optimize='-O2',
                                        cppflags='-DWIN32'
                                        ccversion='', gccversion='gcc.exe (rev5, Built by MinGW-W64 project) 4.8.1',
                                        gccosandvers=''
                                        intsize=4, longsize=4, ptrsize=8, doublesize=8, byteorder=12345678
                                        d_longlong=undef, longlongsize=8, d_longdbl=define, longdblsize=8
                                        ivtype='__int64', ivsize=8, nvtype='double', nvsize=8, Off_t='__int64', lsee
                                        ksize=8
                                        alignbytes=8, prototype=define
                                        Linker and Libraries:
                                        ld='d:\QtStatic\MINGW-~1\X64-48~1.1-W\mingw64\bin\g++.exe', ldflags ='-L"D:
                                        QtStatic\Perl64\lib\CORE"'
                                        libpth=\lib
                                        libs=-lkernel32 -luser32 -lgdi32 -lwinspool -lcomdlg32 -ladvapi32 -lshell32
                                        -lole32 -loleaut32 -lnetapi32 -luuid -lws2_32 -lmpr -lwinmm -lversion -lodbc32 -
                                        lodbccp32 -lcomctl32 -lmsvcrt
                                        perllibs=-lkernel32 -luser32 -lgdi32 -lwinspool -lcomdlg32 -ladvapi32 -lshel
                                        l32 -lole32 -loleaut32 -lnetapi32 -luuid -lws2_32 -lmpr -lwinmm -lversion -lodbc
                                        32 -lodbccp32 -lcomctl32 -lmsvcrt
                                        libc=msvcrt.lib, so=dll, useshrplib=true, libperl=perl516.lib
                                        gnulibc_version=''
                                        Dynamic Linking:
                                        dlsrc=dl_win32.xs, dlext=dll, d_dlsymun=undef, ccdlflags=' '
                                        cccdlflags=' ', lddlflags='-mdll -L"D:\QtStatic\Perl64\lib\CORE"'

                                        Characteristics of this binary (from libperl):
                                        Compile-time options: HAS_TIMES HAVE_INTERP_INTERN MULTIPLICITY
                                        PERLIO_LAYERS PERL_DONT_CREATE_GVSV
                                        PERL_IMPLICIT_CONTEXT PERL_IMPLICIT_SYS
                                        PERL_MALLOC_WRAP PERL_PRESERVE_IVUV PL_OP_SLAB_ALLOC
                                        USE_64_BIT_INT USE_ITHREADS USE_LARGE_FILES
                                        USE_LOCALE USE_LOCALE_COLLATE USE_LOCALE_CTYPE
                                        USE_LOCALE_NUMERIC USE_PERLIO USE_PERL_ATOF
                                        USE_SITECUSTOMIZE
                                        Locally applied patches:
                                        ActivePerl Build 1603 [296746]
                                        Built under MSWin32
                                        Compiled at Mar 13 2013 13:31:10
                                        @INC:
                                        d:/QtStatic/Tools/Perl64/site/lib
                                        d:/QtStatic/Tools/Perl64/lib@

                                        1 Reply Last reply
                                        0
                                        • F Offline
                                          F Offline
                                          Filippe
                                          wrote on last edited by
                                          #29

                                          [quote author="josuegomes" date="1379966076"]A maneira como eu compilo o OpenSSL no prompt do MSYS:

                                          ./Configure mingw
                                          make

                                          Só isso é suficiente.[/quote]

                                          Fiz com esse procedimentos que você falou. O resultado foi esse:

                                          @$ make
                                          making all in crypto...
                                          make[1]: Entering directory /home/filippe/openssl-1.0.1e/crypto' ( echo "#ifndef MK1MF_BUILD"; \ echo ' /* auto-generated by crypto/Makefile for crypto/cversion.c * \ echo ' #define CFLAGS "gcc -DOPENSSL_THREADS -D_MT -DDSO_WIN32 -DL_ AN -DWIN32_LEAN_AND_MEAN -fomit-frame-pointer -O3 -march=i486 -Wall -DOPENSS _ASM_PART_WORDS -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_G -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DMD5_ASM -DRMD160_ASM -DAES_ASM -DVPAE M -DWHIRLPOOL_ASM -DGHASH_ASM"'; \ echo ' #define PLATFORM "mingw"'; \ echo " #define DATE \"LC_ALL=C LC_TIME=C date\""; \ echo '#endif' ) >buildinf.h gcc -I. -I.. -I../include -DOPENSSL_THREADS -D_MT -DDSO_WIN32 -DL_ENDIAN -D 2_LEAN_AND_MEAN -fomit-frame-pointer -O3 -march=i486 -Wall -DOPENSSL_BN_ASM_ _WORDS -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_GF2m -DSHA M -DSHA256_ASM -DSHA512_ASM -DMD5_ASM -DRMD160_ASM -DAES_ASM -DVPAES_ASM -DW POOL_ASM -DGHASH_ASM -c -o cryptlib.o cryptlib.c cryptlib.c:1:0: error: CPU you selected does not support x86-64 instruction /* crypto/cryptlib.c */ ^ cryptlib.c:1:0: error: CPU you selected does not support x86-64 instruction make[1]: *** [cryptlib.o] Error 1 make[1]: Leaving directory /home/filippe/openssl-1.0.1e/crypto'
                                          make: *** [build_crypto] Error 1@

                                          1 Reply Last reply
                                          0

                                          • Login

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