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.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.
  • 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
                                  • J Offline
                                    J Offline
                                    josuegomes
                                    wrote on last edited by
                                    #30

                                    Agora eu vi que você está usando o MinGW-64. Como você está chamando o Configure? Qual a saída desse comando?

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

                                      [quote author="josuegomes" date="1380024758"]Agora eu vi que você está usando o MinGW-64. Como você está chamando o Configure? Qual a saída desse comando?
                                      [/quote]

                                      Para esse passo estou utilizando:
                                      Comando:

                                      @$ ./Configure --prefix=$PWD/dist no-idea no-mdc2 no-rc5 shared mingw64@

                                      Saída:

                                      @[...]
                                      Since you've disabled or enabled at least one algorithm, you need to do
                                      the following before building:

                                          make depend
                                      

                                      Configured for mingw64.@

                                      Comando:

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

                                      Saída:

                                      @[...]
                                      make[2]: Entering directory /home/filippe/openssl-1.0.1e' [ -z "" ] || gcc -D_WINDLL -DOPENSSL_PIC -DOPENSSL_THREADS -D_MT -DDSO_WIN32 -DL _ENDIAN -O3 -Wall -DWIN32_LEAN_AND_MEAN -DUNICODE -D_UNICODE -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_MONT5 -DOPENSSL_BN_ASM_GF2m -DSHA1_ASM - DSHA256_ASM -DSHA512_ASM -DMD5_ASM -DAES_ASM -DVPAES_ASM -DBSAES_ASM -DWHIRLPOOL _ASM -DGHASH_ASM -Iinclude \ -DFINGERPRINT_PREMAIN_DSO_LOAD -o fips_premain_dso.exe \ fips_premain.c fipscanister.o \ libcrypto.a -lws2_32 -lgdi32 -lcrypt32 make[3]: Entering directory /home/filippe/openssl-1.0.1e'
                                      make[4]: Entering directory /home/filippe/openssl-1.0.1e' libcrypto.a(bn_gf2m.o):bn_gf2m.c:(.text+0x8db): undefined reference to bn_GF2m_
                                      mul_2x2'
                                      collect2.exe: error: ld 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: *** [build_crypto] Error 1@

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

                                        Resolvi o problema que eu citei acima. (Meu sistema não estava num bom estado) Estou compilando no PC do meu irmão.

                                        Porém cheguei numa etapa que não está dando certo.
                                        A etapa é a número 11 do tutorial que você me passou (http://silmor.de/qtstuff.qt5mingw.php)

                                        utilizei esse comando para contruir:

                                        @configure -opensource -prefix F:\QT\mingw\mingw64 -nomake examples -nomake demos -nomake tests -platform win32-g++ -opengl desktop -openssl -I f:\QT\Tools\openssl-1.0.1e\dist\include\openssl -L f:\QT\Tools\openssl-1.0.1e\dist\lib -icu -I f:\QT\Tools\icu\dist\include -L f:\QT\Tools\icu\dist\lib@

                                        deu esse erro:

                                        @‘F:\QT\Qt510\qtbase\configure.exe’ não é reconhecido como um comando interno
                                        ou externo, um programa operável ou um arquivo em lotes.,@

                                        Como você recomenda neste artigo (http://qt-project.org/forums/viewthread/23171), criei um arquivo vazio dentro de "qtbase" chamado ".gitignore"

                                        Então deu esse erro:

                                        @<builtin>: recipe for target 'qfilesystemengine_win.o' failed
                                        mingw32-make: *** [qfilesystemengine_win.o] Error 1@

                                        Não estou utilizando o "jom" nem o "fart" para fazer essa operação, talvez seja isso, mas queria ter certeza que não é outra coisa para utilizá-los.

                                        [editado 9 horas depois]

                                        Obs: não fiz o passo 6 do tutorial, baixei o arquivo, ".tar.gz", pelo site do Qt.

                                        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