PDA

View Full Version : Qt 5.5 build problems on windows



gvanvoor
28th August 2015, 07:47
I'm running into various problems when trying to build Qt5.5 (clean build).
The first problem I ran into is that configure.exe is no longer included in the source archive. Luckily it can be built from the source archive but this required making changes to qtbase\configure.bat.

When I had overcome this problem I ran into the following: after running configure I fired up jom, which seemed to work fine but finished much quicker than I had anticipated. Unfortunately this was not because of some source optimizations but because it just silently stopped building at some point (webkit to name just this one hadn't been built).
After wasting quite some time trying to fiddle with configuration options I switched to nmake. As it's still building now I can't say if that will solve my issue, but I'ld like to know if anyone else has run into similar problems and knows of a solution?

For info: I'm working on windows 8.1, using visual studio 2013 and jom 1.0.14.

Kind regards,

Greg.

gvanvoor
31st August 2015, 08:28
nmake fails as well:



cl -c -nologo -Zc:wchar_t -FS -O2 -MD -Zc:strictStrings -D_HAS_EXCEPTIONS=0 -GR -W3 -w34100 -w34189 -w44996 -DUNICODE -DWIN32 -DWIN64 -DQT_NO_EXCEPTIONS
-DQT_NO_DEBUG -DQT_PLUGIN -DQT_GUI_LIB -DQT_CORE_LIB -DNDEBUG -I. -IC:\Development\gregoryvv_GVV-Win\Ariane\3rdParty\qt-everywhere-opensource-src\qtbase\includ
e -IC:\Development\gregoryvv_GVV-Win\Ariane\3rdParty\qt-everywhere-opensource-src\qtbase\include\QtGui -IC:\Development\gregoryvv_GVV-Win\Ariane\3rdParty\qt-eve
rywhere-opensource-src\qtbase\include\QtCore -I.moc\release -IC:\Development\gregoryvv_GVV-Win\Ariane\3rdParty\qt-everywhere-opensource-src\qtbase\mkspecs\win32
-msvc2013 -Fo.obj\release\ @C:\Users\GREGOR~1\AppData\Local\Temp\nm2F9F.tmp
qwbmphandler.cpp
main.cpp
Generating Code...
link /NOLOGO /DYNAMICBASE /NXCOMPAT /INCREMENTAL:NO /DLL /SUBSYSTEM:WINDOWS /VERSION:5.5 /OUT:C:\Development\gregoryvv_GVV-Win\Ariane\3rdParty\qt-everyw
here-opensource-src\qtbase\plugins\imageformats\qwbmp.dll @C:\Users\GREGOR~1\AppData\Local\Temp\nm3415.tmp
Creating library C:\Development\gregoryvv_GVV-Win\Ariane\3rdParty\qt-everywhere-opensource-src\qtbase\plugins\imageformats\qwbmp.lib and object C:\Developmen
t\gregoryvv_GVV-Win\Ariane\3rdParty\qt-everywhere-opensource-src\qtbase\plugins\imageformats\qwbmp.exp
cd webp\ && ( if not exist Makefile C:\Development\gregoryvv_GVV-Win\Ariane\3rdParty\qt-everywhere-opensource-src\qtbase\bin\qmake C:\Development\gregor
yvv_GVV-Win\Ariane\3rdParty\qt-everywhere-opensource-src\qtimageformats\src\plugins\imageformats\webp\w ebp.pro -o Makefile ) && nmake -f Makefile
nmake -f Makefile.Debug all
C:\Development\gregoryvv_GVV-Win\Ariane\3rdParty\qt-everywhere-opensource-src\qtbase\bin\moc.exe -DUNICODE -DWIN32 -DWIN64 -DQT_NO_EXCEPTIONS -DQT_PLUGI
N -DQT_GUI_LIB -DQT_CORE_LIB -D_MSC_VER=1800 -D_WIN32 -D_WIN64 -IC:/Development/gregoryvv_GVV-Win/Ariane/3rdParty/qt-everywhere-opensource-src/qtbase/mkspecs/wi
n32-msvc2013 -IC:/Development/gregoryvv_GVV-Win/Ariane/3rdParty/qt-everywhere-opensource-src/qtimageformats/src/plugins/imageformats/webp -IC:/Development/grego
ryvv_GVV-Win/Ariane/3rdParty/qt-everywhere-opensource-src/qtimageformats/src/3rdparty/libwebp -IC:/Development/gregoryvv_GVV-Win/Ariane/3rdParty/qt-everywhere-o
pensource-src/qtimageformats/src/3rdparty/libwebp/src -IC:/Development/gregoryvv_GVV-Win/Ariane/3rdParty/qt-everywhere-opensource-src/qtimageformats/src/3rdpart
y/libwebp/src/dec -IC:/Development/gregoryvv_GVV-Win/Ariane/3rdParty/qt-everywhere-opensource-src/qtimageformats/src/3rdparty/libwebp/src/enc -IC:/Development/g
regoryvv_GVV-Win/Ariane/3rdParty/qt-everywhere-opensource-src/qtimageformats/src/3rdparty/libwebp/src/dsp -IC:/Development/gregoryvv_GVV-Win/Ariane/3rdParty/qt-
everywhere-opensource-src/qtimageformats/src/3rdparty/libwebp/src/mux -IC:/Development/gregoryvv_GVV-Win/Ariane/3rdParty/qt-everywhere-opensource-src/qtimagefor
mats/src/3rdparty/libwebp/src/utils -IC:/Development/gregoryvv_GVV-Win/Ariane/3rdParty/qt-everywhere-opensource-src/qtimageformats/src/3rdparty/libwebp/src/webp
-IC:/Development/gregoryvv_GVV-Win/Ariane/3rdParty/qt-everywhere-opensource-src/qtbase/include -IC:/Development/gregoryvv_GVV-Win/Ariane/3rdParty/qt-everywhere
-opensource-src/qtbase/include/QtGui -IC:/Development/gregoryvv_GVV-Win/Ariane/3rdParty/qt-everywhere-opensource-src/qtbase/include/QtCore main.cpp -o .moc\debu
g\main.moc
cl -c -nologo -Zc:wchar_t -FS -Zi -MDd -D_HAS_EXCEPTIONS=0 -GR -W3 -w34100 -w34189 -w44996 /FdC:\Development\gregoryvv_GVV-Win\Ariane\3rdParty\qt-everyw
here-opensource-src\qtbase\plugins\imageformats\qwebpd.pdb -DUNICODE -DWIN32 -DWIN64 -DQT_NO_EXCEPTIONS -DQT_PLUGIN -DQT_GUI_LIB -DQT_CORE_LIB -I. -I..\..\..\3r
dparty\libwebp -I..\..\..\3rdparty\libwebp\src -I..\..\..\3rdparty\libwebp\src\dec -I..\..\..\3rdparty\libwebp\src\enc -I..\..\..\3rdparty\libwebp\src\dsp -I..\
..\..\3rdparty\libwebp\src\mux -I..\..\..\3rdparty\libwebp\src\utils -I..\..\..\3rdparty\libwebp\src\webp -IC:\Development\gregoryvv_GVV-Win\Ariane\3rdParty\qt-
everywhere-opensource-src\qtbase\include -IC:\Development\gregoryvv_GVV-Win\Ariane\3rdParty\qt-everywhere-opensource-src\qtbase\include\QtGui -IC:\Development\g
regoryvv_GVV-Win\Ariane\3rdParty\qt-everywhere-opensource-src\qtbase\include\QtCore -I.moc\debug -IC:\Development\gregoryvv_GVV-Win\Ariane\3rdParty\qt-everywher
e-opensource-src\qtbase\mkspecs\win32-msvc2013 -Fo.obj\debug\main.obj main.cpp
main.cpp
cl -c -nologo -Zc:wchar_t -FS -Zi -MDd -D_HAS_EXCEPTIONS=0 -GR -W3 -w34100 -w34189 -w44996 /FdC:\Development\gregoryvv_GVV-Win\Ariane\3rdParty\qt-everyw
here-opensource-src\qtbase\plugins\imageformats\qwebpd.pdb -DUNICODE -DWIN32 -DWIN64 -DQT_NO_EXCEPTIONS -DQT_PLUGIN -DQT_GUI_LIB -DQT_CORE_LIB -I. -I..\..\..\3r
dparty\libwebp -I..\..\..\3rdparty\libwebp\src -I..\..\..\3rdparty\libwebp\src\dec -I..\..\..\3rdparty\libwebp\src\enc -I..\..\..\3rdparty\libwebp\src\dsp -I..\
..\..\3rdparty\libwebp\src\mux -I..\..\..\3rdparty\libwebp\src\utils -I..\..\..\3rdparty\libwebp\src\webp -IC:\Development\gregoryvv_GVV-Win\Ariane\3rdParty\qt-
everywhere-opensource-src\qtbase\include -IC:\Development\gregoryvv_GVV-Win\Ariane\3rdParty\qt-everywhere-opensource-src\qtbase\include\QtGui -IC:\Development\g
regoryvv_GVV-Win\Ariane\3rdParty\qt-everywhere-opensource-src\qtbase\include\QtCore -I.moc\debug -IC:\Development\gregoryvv_GVV-Win\Ariane\3rdParty\qt-everywher
e-opensource-src\qtbase\mkspecs\win32-msvc2013 -Fo.obj\debug\qwebphandler.obj qwebphandler.cpp
qwebphandler.cpp
cl -c -nologo -Zc:wchar_t -FS -Zi -MDd -W3 /FdC:\Development\gregoryvv_GVV-Win\Ariane\3rdParty\qt-everywhere-opensource-src\qtbase\plugins\imageformats\
qwebpd.pdb -DUNICODE -DWIN32 -DWIN64 -DQT_NO_EXCEPTIONS -DQT_PLUGIN -DQT_GUI_LIB -DQT_CORE_LIB -I. -I..\..\..\3rdparty\libwebp -I..\..\..\3rdparty\libwebp\src -
I..\..\..\3rdparty\libwebp\src\dec -I..\..\..\3rdparty\libwebp\src\enc -I..\..\..\3rdparty\libwebp\src\dsp -I..\..\..\3rdparty\libwebp\src\mux -I..\..\..\3rdpar
ty\libwebp\src\utils -I..\..\..\3rdparty\libwebp\src\webp -IC:\Development\gregoryvv_GVV-Win\Ariane\3rdParty\qt-everywhere-opensource-src\qtbase\include -IC:\De
velopment\gregoryvv_GVV-Win\Ariane\3rdParty\qt-everywhere-opensource-src\qtbase\include\QtGui -IC:\Development\gregoryvv_GVV-Win\Ariane\3rdParty\qt-everywhere-o
pensource-src\qtbase\include\QtCore -I.moc\debug -IC:\Development\gregoryvv_GVV-Win\Ariane\3rdParty\qt-everywhere-opensource-src\qtbase\mkspecs\win32-msvc2013 -
Fo.obj\debug\Development\gregoryvv_GVV-Win\Ariane\3rdParty\qt-everywhere-opensource-src\qtimageformats\src\3rdparty\libwebp\src\dec\al pha.obj ..\..\..\3rdparty\
libwebp\src\dec\alpha.c
alpha.c
C:\Development\gregoryvv_GVV-Win\Ariane\3rdParty\qt-everywhere-opensource-src\qtimageformats\src\3rdparty\libwebp\src\dec\al pha.c : fatal error C1083: Cannot op
en compiler generated file: '.obj\debug\Development\gregoryvv_GVV-Win\Ariane\3rdParty\qt-everywhere-opensource-src\qtimageformats\src\3rdparty\libwebp\src\dec\a
lpha.obj': No such file or directory
NMAKE : fatal error U1077: '"C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\BIN\amd64\cl.EXE"' : return code '0x1'
Stop.
NMAKE : fatal error U1077: '"C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\BIN\amd64\nmake.EXE"' : return code '0x2'
Stop.


Could this be caused by the changes I had to make to configure.bat to get configure.exe built?
Here are the changes (these are the first "real" lines in configure.bat, after the header info)


@echo off
set QTSRC=%~dp0
set QTDIR=%CD%
rem if not exist %QTSRC%.gitignore goto sconf
echo Please wait while bootstrapping configure ...

for %%C in (cl.exe icl.exe g++.exe perl.exe) do set %%C=%%~$PATH:C

rem if "%perl.exe%" == "" (
rem echo Perl not found in PATH. Aborting. >&2
rem exit /b 1
rem )
if not exist mkspecs (
md mkspecs
if errorlevel 1 goto exit
)
rem perl %QTSRC%bin\syncqt.pl -minimal -module QtCore -outdir "%QTDIR%" %QTSRC%
rem if errorlevel 1 goto exit

gvanvoor
1st September 2015, 14:50
The origin of the problem has been traced back to the windows command path length limit. Building Qt from a shorter location solved the problem.

hatranpro
23rd September 2015, 15:10
Thanks! I just managed to compile Qt 5.5 with Visual Studio 2015 based of the help you provided.
first you need to modifier configure.bat as you mentioned so it can generate configure.exe
second run the cmd
configure -opensource -confirm-license -mp -nomake examples -nomake tests -release -c++11 -no-warnings-are-errors -platform win32-msvc2015 -no-ltcg
than
nmake

the system requirements: Perl, Ruby, Python, Windows SDK, DirecX