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

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

Scheduled Pinned Locked Moved Installation and Deployment
15 Posts 4 Posters 17.4k 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.
  • 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