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.8k 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.
  • 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