Important: Please read the Qt Code of Conduct -

issue building qt 5 12 from latest git repo (windows) - part 2

  • Following on from:

    I have now checked out version 5.12.1 (instead of the head of 5.12).

    I have tried building with the following configurations (and with the errors below):

    Static Debug no no-pch

    Configuration: configure -debug -opensource -static -static-runtime -skip webengine -nomake examples -nomake tests -nomake tools -accessibility -no-sql-sqlite -no-opengl -opengl desktop -platform win32-g++ -qt-zlib -qt-libpng -qt-libjpeg -confirm-license -prefix "C:\install\Qt\5.12.1-static"
    I get the error:

    g++ -c -fno-keep-inline-dllexport -g -Og -std=c++1z -fno-exceptions -Wall -W -Wextra -Wvla -Wdate-time -Wshift-overflow=2 -Wduplicated-cond -Wno-stringop-overflow -ffunction-sections -fdata-sections -DUNICODE -D_UNICODE -DWIN32 -DMINGW_HAS_SECURE_API=1 -DWINVER=0x0601 -D_WIN32_WINNT=0x0601 -DQT_NO_CAST_FROM_ASCII -DQT_NO_FOREACH -DLIBEGL_NAME=libEGL -DLIBGLESV2_NAME=libGLESv2 -DQT_DEPRECATED_WARNINGS -DQT_NO_NARROWING_CONVERSIONS_IN_CONNECT -DQT_NO_EXCEPTIONS -DQT_STATICPLUGIN -DQT_PLUGIN -DQT_EVENTDISPATCHER_SUPPORT_LIB -DQT_FONTDATABASE_SUPPORT_LIB -DQT_THEME_SUPPORT_LIB -DQT_ACCESSIBILITY_SUPPORT_LIB -DQT_WINDOWSUIAUTOMATION_SUPPORT_LIB -DQT_GUI_LIB -DQT_CORE_LIB -DQT_PLUGIN_RESOURCE_INIT_FUNCTION=qwindowsd_plugin_resource_init -ID:/install/Qt/qt5_git_repo/qtbase/src/plugins/platforms/windows -I. -ID:/install/Qt/qt5_git_repo/qtbase/src/plugins/platforms/windows -ID:/install/Qt/qt5_git_repo/qtbase/src/3rdparty/wintab -I../../../../include -I../../../../include/QtEventDispatcherSupport -I../../../../include/QtEventDispatcherSupport/5.12.1 -I../../../../include/QtEventDispatcherSupport/5.12.1/QtEventDispatcherSupport -I../../../../include/QtFontDatabaseSupport -I../../../../include/QtFontDatabaseSupport/5.12.1 -I../../../../include/QtFontDatabaseSupport/5.12.1/QtFontDatabaseSupport -I../../../../include/QtThemeSupport -I../../../../include/QtThemeSupport/5.12.1 -I../../../../include/QtThemeSupport/5.12.1/QtThemeSupport -I../../../../include/QtAccessibilitySupport -I../../../../include/QtAccessibilitySupport/5.12.1 -I../../../../include/QtAccessibilitySupport/5.12.1/QtAccessibilitySupport -I../../../../include/QtWindowsUIAutomationSupport -I../../../../include/QtWindowsUIAutomationSupport/5.12.1 -I../../../../include/QtWindowsUIAutomationSupport/5.12.1/QtWindowsUIAutomationSupport -I../../../../include/QtGui/5.12.1 -I../../../../include/QtGui/5.12.1/QtGui -I../../../../include/QtGui -I../../../../include/QtCore/5.12.1 -I../../../../include/QtCore/5.12.1/QtCore -I../../../../include/QtCore -I.moc/debug -ID:/install/Qt/qt5_git_repo/qtbase/mkspecs/win32-g++  -o .obj/debug/qwindowsole.o D:/install/Qt/qt5_git_repo/qtbase/src/plugins/platforms/windows/qwindowsole.cpp
    In file included from D:/install/Qt/qt5_git_repo/qtbase/src/plugins/platforms/windows/qwindowscontext.cpp:82:0:
    ../../../../include/QtEventDispatcherSupport/5.12.1/QtEventDispatcherSupport/private/qwindowsguieventdispatcher_p.h:1:10: fatal error: ../../../../../../../qt5_git_repo/qtbase/src/platformsupport/eventdispatchers/qwindowsguieventdispatcher_p.h: No such file or directory
     #include "../../../../../../../qt5_git_repo/qtbase/src/platformsupport/eventdispatchers/qwindowsguieventdispatcher_p.h"

    Non static build attempt:

    Configuration: configure -debug -opensource -confirm-license -nomake examples -nomake tests -skip webengine -prefix "C:/install/Qt/5.12.1-sharedlibs"
    Gives the error:

    qopengl.h:111:13: fatal error: GLES2/gl2.h: No such file or directory

    Now the second issue is probably something to do with GUI/graphics etc. I have now got windows 10 and I thought I read that open GL is built in and that there is a version of ANGLE withing qtbase - so I thought I was covered for these...

  • Lifetime Qt Champion


    You are passing both -no-opengl and -opengl desktop, can you check with removing the first one ?

    [Edit aha_1980: Fixed typo]

  • @SGaist I just noticed that about an hour ago and since then I have been building (make) and installing both static and dynamic libraries. I also encountered this issue: which was responsible for the first error (because the path was longer then 260 chars). The second issue I think - as you say seems to be related to opengl options - one time when I was configuring (I have been at it throughout the day) I got an actual warning at the end of the config.

    So long story short - between the two issues I had (and needing to install python to do make install) I have finally solved this. I tested the static build (added the kit to my old qt creator). Qt creator built my projects fine (with qt 5.12.1 static) but did not display my source files.... that was a bit odd. Maybe need a newer version. But anyhow the out put file was about 500mb and when I copied it to a clean PC it ran fine (proving the static build worked).

    I am going to write this up with my full set of instructions as much for me as for anyone else - and then I will mark this as solved... but I will do it tomorrow - I am tired....sooooo tired : )

    Have to say, thanks again for your support - its been so long since I did Qt building. To be honest it was a bit painful, but once you have found / solved the little issues its really easy to repeat the build : )

  • @SGaist Actually I removed the second one so I was left with -no-opengl. I presume that I don't really need that unless I am doing graphics (not like GUI but more animations etc)?

    If I want to change my config and recompile can I just do this:

    configure ... new options ...
    make install

    Or do I need to completely delete all the files and start again (in my non source folder)?

  • Ok here is the list of instructions to build and install qt static and/or shared-libs:

    1. Preparation

    In no particular order:

    NOTE: in the mingw folder there should be a mingw-xx.bat file to open an cmd prompt environment for gcc. Run this for all cmd prompts to do the following actions.

    NOTE: make sure you edit the paths so that strawberry perl .../bin is before any other perl's
    So the dos env setup should look like:

    	set PATH=D:\install\StrawberryPerl\perl\bin;%PATH%
    	set PATH=D:\install\mingw-w64\i686-7.3.0-posix-dwarf\mingw32\bin;%PATH%
    	set PATH=D:\install\Qt\qt5\qtbase\bin;%PATH%
    	set PATH=D:\install\Qt\qt5\gnuwin32\bin;%PATH%

    Where D:\install\Qt\qt5 is where my qt5 git repo is.

    2. Configuration

    2.1. Static Config

    • Create folder at the same level as ../qt5/ repo called ../qt5-static-build/ (for example) and cd into it, then run:
    - ..\qt5\configure -debug -opensource -static -static-runtime -skip webengine -nomake examples -nomake tests -nomake tools -accessibility -no-sql-sqlite -no-opengl -platform win32-g++ -qt-zlib -qt-libpng -qt-libjpeg -confirm-license -prefix "C:\install\Qt\5.12.1-static"

    2.2. Shared Lib Config

    • Create folder at the same level as ../qt5/ repo called ../qt5-build/ (for example) and cd into it, then run:
    ..\qt5\configure -debug -opensource -skip webengine -nomake examples -nomake tests -nomake tools -accessibility -no-sql-sqlite -no-opengl -platform win32-g++ -qt-zlib -qt-libpng -qt-libjpeg -confirm-license -prefix "C:\install\Qt\5.12.1-sharedlib"

    3. Compile and installation

    Either way you configured qt (static or not) this part is the same, basically run:

    mingw32-make -j8
    mingw32-make install -j8

    Note: you can use whatever parallel number you want (-j<num-jobs>). Each stage takes a while depending on your CPU of course.

    Once you have finished, the install path set in your config line (e.g. C:\install\Qt\5.12.1-static) will contain your qt install. You can then add this in qtcreator as a new qt version (if that is how you are building it).

  • @SGaist @kshegunov - So I got qt built statically and dynamically, I just posted up my full instruction set, if you have a minute to spare, can you cast your eye over it to see if there is anything additional I can mention (or edit)?

    Thanks : )

  • Moderators

    Looks good to me.

Log in to reply