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
Forum Updated to NodeBB v4.3 + New Features

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

Scheduled Pinned Locked Moved Portuguese
32 Posts 5 Posters 20.1k 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.
  • F Offline
    F Offline
    Filippe
    wrote on last edited by
    #9

    Primeiro não apareceu erro nenhum, abriu normalmente (no meu pc).

    Depois verifiquei que a path do windows estava apontando para a pasta de bibliotecas do compilador, como o objetivo da compilação estática é compilar as dll dentro do executável, retirei esse direcionamento da path.

    Aparece essa mensagem de "Erro do sistema":

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

    Percebi também que o tamanho do arquivo é de 653KB (ou seja, o programa foi compilado sem as dlls)
    ...
    Quando estava fazendo a recompilação do "win32-g++" percebi que, nos fóruns, falava-se muito em colocar na instrução "configure" do "Qt 5.0.2 for Desktop (MinGW 4.7)" esse comando -> "-no-exceptions", porém a instrução não funcionava nele.

    1 Reply Last reply
    0
    • 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

                                          • Login

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