Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Groups
  • Search
  • Get Qt Extensions
  • Unsolved
Collapse
Brand Logo
  1. Home
  2. Qt Development
  3. Installation and Deployment
  4. (Solved) Building Qt5 with mingw64 on windows 7 64Bit
QtWS25 Last Chance

(Solved) Building Qt5 with mingw64 on windows 7 64Bit

Scheduled Pinned Locked Moved Installation and Deployment
15 Posts 4 Posters 17.3k Views
  • 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.
  • M Offline
    M Offline
    mbreier
    wrote on last edited by
    #1

    Hi,

    I ran in a problem when trying to build Qt5 on windows7 64 bit machine with the latest mingw64 setup.

    • I downloaded the latest mingw build from here "http://sourceforge.net/projects/mingwbuilds/" and installed it in C:\ming64 and
      also added the path to the enviroment PATH variable.
    • I downloaded the latest source with GIT in C:\qt5
    • I ran cmd and changed directory to c:\qt5
    • I ran configure -developer-build -opensource -nomake examples -nomake tests -opengl desktop
    • I immediately got the error message libgcc_s_dw2-1.dll not found.

    In the mingw64\bin directory there is no libgcc_s_dw2-1.dll, there is only a libgcc_s_sjlj.dll.

    I also tried first to run configure with the 32 bit mingw installation and after configure switching to 64 bit, but qmake is built by configure with the 32 bit mingw dlls and will cause the same error when starting mingw32-make.

    Is there a way to built Qt5 with the 64 bit mingw installation?

    Thanks
    Michael

    1 Reply Last reply
    0
    • JKSHJ Offline
      JKSHJ Offline
      JKSH
      Moderators
      wrote on last edited by
      #2

      Hmm... looks like MinGW-Builds only provides the Dwarf version on 32-bit Windows (see https://sourceforge.net/projects/mingwbuilds/files/host-windows/releases/4.7.2/32-bit/threads-win32/ vs https://sourceforge.net/projects/mingwbuilds/files/host-windows/releases/4.7.2/64-bit/threads-win32/ )

      You could try a different flavour of MinGW (MinGW-w64 or TDM-GCC); they might have libgcc_s_dw2-1.dll

      Qt Doc Search for browsers: forum.qt.io/topic/35616/web-browser-extension-for-improved-doc-searches

      1 Reply Last reply
      0
      • M Offline
        M Offline
        mbreier
        wrote on last edited by
        #3

        Thanks for the answer, so I tried with mingw-w64 with a personal built from rubenvb which also only contains the sjlj dll.
        Then I tried with TDM-GCC which contains the dw2 dll, but configure crashes just after starting with the following output:

        @c:\qt5>configure -developer-build -opensource -nomake examples -nomake tests -op
        engl desktop

        • c:/qt5/qtbase/configure -developer-build -opensource -nomake examples -nomake
          tests -opengl desktop
          Can't spawn "c:/qt5/qtbase/configure": No error at c:\qt5\configure line 77.
          *** qtbase/configure exited with non-zero status.@
        1 Reply Last reply
        0
        • JKSHJ Offline
          JKSHJ Offline
          JKSH
          Moderators
          wrote on last edited by
          #4

          Did you clean everything before re-configuring?

          Also try invoking configure.exe explicitly (as opposed to the configure script)

          Qt Doc Search for browsers: forum.qt.io/topic/35616/web-browser-extension-for-improved-doc-searches

          1 Reply Last reply
          0
          • M Offline
            M Offline
            mbreier
            wrote on last edited by
            #5

            Yes I ran mingw32-make clean before re-configuring.

            The git repo does not contain configure.exe in the main directory, only the perl script. I have already installed a version 4.8.3 on this machine, can I use the configure.exe from this version?

            1 Reply Last reply
            0
            • M Offline
              M Offline
              mbreier
              wrote on last edited by
              #6

              some more info:
              When I try to start the configure.exe from qt5 which is in c:/qt5/qtbase I get the following message from winows:

              @Problemsignatur:
              Problemereignisname: APPCRASH
              Anwendungsname: configure.exe
              Anwendungsversion: 0.0.0.0
              Anwendungszeitstempel: 50b381cc
              Fehlermodulname: libstdc++-6.dll
              Fehlermodulversion: 0.0.0.0
              Fehlermodulzeitstempel: 5054e689
              Ausnahmecode: c0000096
              Ausnahmeoffset: 000952c1
              Betriebsystemversion: 6.1.7601.2.1.0.256.48
              Gebietsschema-ID: 1031
              Zusatzinformation 1: 0a9e
              Zusatzinformation 2: 0a9e372d3b4ad19135b953a78882e789
              Zusatzinformation 3: 0a9e
              Zusatzinformation 4: 0a9e372d3b4ad19135b953a78882e789@

              unfortunately in German...

              The configure.exe from my Qt 4.8.3 installation is not working at all, just gives me the list with possible parameters.

              1 Reply Last reply
              0
              • JKSHJ Offline
                JKSHJ Offline
                JKSH
                Moderators
                wrote on last edited by
                #7

                Sorry, my mistake; there is no configure.exe for Qt 5. The old configure.exe is incompatible with Qt 5 because the structure has changed completely.

                Which shell are you using? I managed to build Qt 5 (Edit: 32-bit) using cmd.exe

                Try:
                @
                C:\qt5>configure.bat -developer-build -opensource -nomake examples -nomake tests -opengl desktop
                @

                Qt Doc Search for browsers: forum.qt.io/topic/35616/web-browser-extension-for-improved-doc-searches

                1 Reply Last reply
                0
                • M Offline
                  M Offline
                  mbreier
                  wrote on last edited by
                  #8

                  Yes I'm using the standard windows cmd.exe. And I tried exactly the command you suggest. But I received the error message as described above.
                  Do you really use 64 bit mingw? If so, which package do you use?

                  1 Reply Last reply
                  0
                  • JKSHJ Offline
                    JKSHJ Offline
                    JKSH
                    Moderators
                    wrote on last edited by
                    #9

                    Wow, I'm quite terrible tonight... I should've mentioned that I have a 32-bit system >_> I used the 32-bit Dwarf version of MinGW-Builds.

                    The "Can't spawn" message seems to be from Perl. I'm not quite sure what's happening on your system, but "this page":http://qt-project.org/wiki/Building-Qt-5-from-Git says:
                    [quote]To properly configure and build Qt 5 from source you also need Perl (>=5.14)

                    ...

                    Make sure that Perl is added to the path in front of git since that ships an outdated version (Perl 5.8), which will cause the scripts to fail.[/quote]Does this apply to you?

                    Qt Doc Search for browsers: forum.qt.io/topic/35616/web-browser-extension-for-improved-doc-searches

                    1 Reply Last reply
                    0
                    • M Offline
                      M Offline
                      mbreier
                      wrote on last edited by
                      #10

                      Yes Perl is in the PATH and when I enter perl -v in cmd.exe I get version 5.16.1 which should be OK.
                      After all, again I do not have any problems when I try this with a 32 Bit mingw version, only with the 64 Bit version. The 32 Bit version configures and compiles without problems. But I have a 64 Bit operation system and so I would like to build also programs for 64 Bit.

                      OK, I assume the following and I hope that there is somebody out there who can confirm this or have another solution.

                      • configure.exe is build with 32 bit mingw and so needs the 32 bit dlls from mingw. This leads in an error when trying to run configure with the 64 bit mingw dlls.
                      • running configure.exe with 32 bit dlls will build qmake also with 32 bit dlls. This means also running qmake later with 64 bit dlls will also create an error (I already tried this). So it is not possible to built Qt5 with 64 bit dlls.
                      • Currently I do not see any possibility to use qt together with mingw 64 bit
                      1 Reply Last reply
                      0
                      • JKSHJ Offline
                        JKSHJ Offline
                        JKSH
                        Moderators
                        wrote on last edited by
                        #11

                        I'm out of ideas here, sorry. Hopefully someone with the relevant experience will see this thread

                        People have managed to use MinGW to build 64-bit Qt 5 before: http://lists.qt-project.org/pipermail/development/2012-September/006665.html

                        All the best

                        Qt Doc Search for browsers: forum.qt.io/topic/35616/web-browser-extension-for-improved-doc-searches

                        1 Reply Last reply
                        0
                        • L Offline
                          L Offline
                          lgeyer
                          wrote on last edited by
                          #12

                          [quote author="mbreier" date="1354019930"]Yes I ran mingw32-make clean before re-configuring.[/quote]Use <code>git submodule foreach --recursive git clean dfx</code> instead.
                          [quote author="mbreier" date="1354019930"]The git repo does not contain configure.exe in the main directory, only the perl script.[/quote]<code>configure</code> can be found <code>qtbase/tools/configure</code>, and it is built the first time it is invoked.
                          [quote author="mbreier" date="1354019930"]I have already installed a version 4.8.3 on this machine, can I use the configure.exe from this version?[/quote]No, you can't.

                          Make sure that your source tree (see #1) and your environment is clean (no <code>QTDIR</code> is set, no other Qt in <code>PATH</code>) before (re-)building Qt.

                          1 Reply Last reply
                          0
                          • M Offline
                            M Offline
                            mbreier
                            wrote on last edited by
                            #13

                            Cool, this worked out of the box.

                            Thanx a lot

                            1 Reply Last reply
                            0
                            • M Offline
                              M Offline
                              maitai
                              wrote on last edited by
                              #14

                              Hello,

                              I am also trying to build QT5 (5.0.1 from git) with mingw64 (I have previously succeeded to build it with msvc2012 in 64bits but I need to deploy with mingw64).

                              I first run "qt5_tool -c" to clean everything, then I run configure with the following options:
                              -opensource -nomake examples -nomake tests -nomake demos -c++11 -opengl desktop -no-icu -platform win32-g++

                              The configure phase seems to run smoothly, but I run into this error when executing mingw32-make:

                              [CODE]

                              C:\qt5\qt5>mingw32-make
                              cd qtbase\ && ( if not exist Makefile C:\qt5\qt5\qtbase\bin\qmake C:\qt5\qt5\qtb
                              ase\qtbase.pro -o Makefile ) && mingw32-make -f Makefile
                              mingw32-make[1]: Entering directory 'C:/qt5/qt5/qtbase'
                              cd src\ && ( if not exist Makefile C:\qt5\qt5\qtbase\bin\qmake C:\qt5\qt5\qtbase
                              \src\src.pro -o Makefile ) && mingw32-make -f Makefile
                              mingw32-make[2]: Entering directory 'C:/qt5/qt5/qtbase/src'
                              cd tools\ && ( if not exist Makefile C:\qt5\qt5\qtbase\bin\qmake C:\qt5\qt5\qtba
                              se\src\tools\tools.pro -o Makefile ) && mingw32-make -f Makefile
                              mingw32-make[3]: Entering directory 'C:/qt5/qt5/qtbase/src/tools'
                              cd bootstrap\ && ( if not exist Makefile C:\qt5\qt5\qtbase\bin\qmake C:\qt5\qt5
                              qtbase\src\tools\bootstrap\bootstrap.pro -o Makefile ) && mingw32-make -f Makefi
                              le
                              Project MESSAGE: C:\qt5\qt5\qtbase\bin\syncqt.bat -minimal -module QtCore -modul
                              e QtDBus -module QtXml -mkspecsdir C:/qt5/qt5/qtbase/mkspecs -outdir C:/qt5/qt5/
                              qtbase C:/qt5/qt5/qtbase
                              <srcbase> = C:/qt5/qt5/qtbase
                              <outbase> = C:/qt5/qt5/qtbase
                              QtDBus: created fwd-include header(s) for <srcbase>/src/dbus/ { qdbus_symbols_p.
                              h (1), qdbusabstractadaptor.h (1), qdbusabstractadaptor_p.h (1), qdbusabstractin
                              terface.h (1), qdbusabstractinterface_p.h (1), qdbusargument.h (1), qdbusargumen
                              t_p.h (1), qdbusconnection.h (1), qdbusconnection_p.h (1), qdbusconnectioninterf
                              ace.h (1), qdbusconnectionmanager_p.h (1), qdbuscontext.h (1), qdbuscontext_p.h
                              (1), qdbuserror.h (1), qdbusextratypes.h (1), qdbusintegrator_p.h (1), qdbusinte
                              rface.h (1), qdbusinterface_p.h (1), qdbusintrospection_p.h (1), qdbusmacros.h (
                              1), qdbusmessage.h (1), qdbusmessage_p.h (1), qdbusmetaobject_p.h (1), qdbusmeta
                              type.h (1), qdbusmetatype_p.h (1), qdbuspendingcall.h (1), qdbuspendingcall_p.h
                              (1), qdbuspendingreply.h (1), qdbusreply.h (1), qdbusserver.h (1), qdbusservicew
                              atcher.h (1), qdbusthreaddebug_p.h (1), qdbusunixfiledescriptor.h (1), qdbusutil
                              _p.h (1), qdbusvirtualobject.h (1), qdbusxmlparser_p.h (1) }
                              QtXml: created fwd-include header(s) for <srcbase>/src/xml/ { qtxmlglobal.h (1)
                              }
                              QtXml: created fwd-include header(s) for <srcbase>/src/xml/dom/ { qdom.h (1) }
                              QtXml: created fwd-include header(s) for <srcbase>/src/xml/sax/ { qxml.h (1) }
                              mingw32-make[4]: Entering directory 'C:/qt5/qt5/qtbase/src/tools/bootstrap'
                              mingw32-make -f Makefile.Release
                              mingw32-make[5]: Entering directory 'C:/qt5/qt5/qtbase/src/tools/bootstrap'
                              Makefile.Release:189: *** missing separator. Stop.
                              mingw32-make[5]: Leaving directory 'C:/qt5/qt5/qtbase/src/tools/bootstrap'
                              Makefile:34: recipe for target 'release' failed
                              mingw32-make[4]: *** [release] Error 2
                              mingw32-make[4]: Leaving directory 'C:/qt5/qt5/qtbase/src/tools/bootstrap'
                              Makefile:44: recipe for target 'sub-tools-bootstrap-make_first' failed
                              mingw32-make[3]: *** [sub-tools-bootstrap-make_first] Error 2
                              mingw32-make[3]: Leaving directory 'C:/qt5/qt5/qtbase/src/tools'
                              Makefile:53: recipe for target 'sub-tools-make_first' failed
                              mingw32-make[2]: *** [sub-tools-make_first] Error 2
                              mingw32-make[2]: Leaving directory 'C:/qt5/qt5/qtbase/src'
                              Makefile:42: recipe for target 'sub-src-make_first' failed
                              mingw32-make[1]: *** [sub-src-make_first] Error 2
                              mingw32-make[1]: Leaving directory 'C:/qt5/qt5/qtbase'
                              makefile:54: recipe for target 'module-qtbase-make_first' failed
                              mingw32-make: *** [module-qtbase-make_first] Error 2

                              C:\qt5\qt5>
                              [/CODE]

                              the wrong line where it says "wrong separator" is in bootstrap makefile:

                              {....\corelib\plugin}.cpp{.obj\release_shared}.obj::
                              $(CXX) -c $(CXXFLAGS) $(INCPATH) -Fo.obj\release_shared\ @<<
                              $<
                              <<

                              Any idea what I am doing wrong?

                              1 Reply Last reply
                              0
                              • M Offline
                                M Offline
                                maitai
                                wrote on last edited by
                                #15

                                As often as soon as I posted the previous message I found it. Needed to set QMAKESPEC=QTDIR\mkspecs\win32-g++ and all seems ok now.

                                Sorry for the disturbance, anyway I hope it might be useful to someone...

                                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