Rcc crash building Qt 5
-
Hi all.
I'm new here but I have years of experience in Qt. I've built Qt 4 many times without problems but Qt 5 seems more complex.
I'm trying to build Qt 5 with Visual Studio 2008 SP1 and Windows SDK 7.0 on Windows Vista SP2, following the guide "Building Qt 5 from Git".
I think my configuration is ok, because running the configure tool with the following command...
@
configure -developer-build -opensource -nomake examples -nomake tests -platform win32-msvc2008 -plugin-sql-sqlite
@... I get the result in the following post ( The maximum number of allowed characters is 6000 for thi post :( )
Then I run nmake, but the first time that rcc is executed, it crashes and I get the following output:
@
C:\Qt\qt5\qtbase\bin\rcc.exe -name mimetypes mimetypes\mimetypes.qrc -o .rcc\debug\qrc_mimetypes.cpp
NMAKE : fatal error U1077: 'C:\Qt\qt5\qtbase\bin\rcc.exe' : codice restituito '0xff'
Stop.
NMAKE : fatal error U1077: '"C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\BIN\nmake.EXE"' : codice restituito '0x2'
Stop.
NMAKE : fatal error U1077: 'cd' : codice restituito '0x2'
Stop.
NMAKE : fatal error U1077: 'cd' : codice restituito '0x2'
Stop.
NMAKE : fatal error U1077: 'cd' : codice restituito '0x2'
Stop.
@So I have tried to run my rcc manually, but it crashes. If there is some error in the qrc file (eg missing file) it outputs correctly the error, but if it's all ok in the qrc file, it crashes.
I've also tried to build the Qt 5 version taken from the zip that I found in the downoad page, but I get the same result.
I don't know what's wrong with my rcc.exe. Maybe I need Windows SDK 7.1 instead of 7.0? The guide speaks only of a generic version 7 for VS2008.
Alternatively, it's possible skip the rcc building and use another rcc.exe taken from another build?
Thanks!
-
Configure result
@
Running configuration tests...
Environment:
INCLUDE=
C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\ATLMFC\INCLUDE
C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\INCLUDE
J:\Program Files\Microsoft SDKs\Windows\v7.0\includeLIB= C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\ATLMFC\LIB C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\LIB J:\Program Files\Microsoft SDKs\Windows\v7.0\lib PATH= C:\Program Files (x86)\Microsoft Visual Studio 9.0\Common7\IDE C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\BIN C:\Program Files (x86)\Microsoft Visual Studio 9.0\Common7\Tools C:\Program Files (x86)\Microsoft Visual Studio 9.0\Common7\Tools\bin C:\Windows\Microsoft.NET\Framework\ C:\Windows\Microsoft.NET\Framework\\Microsoft .NET Framework 3.5 (Pre-Release Version) C:\Windows\Microsoft.NET\Framework\v2.0.50727 C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\VCPackages J:\Program Files\Microsoft SDKs\Windows\v7.0\bin j:\Ruby193\bin J:\Perl\site\bin J:\Perl\bin C:\Windows\system32 C:\Windows C:\Windows\System32\Wbem C:\Windows\System32\WindowsPowerShell\v1.0\ J:\Python27
Configuration:
warnings_are_errors
pcre
debug
compile_examples
Qt Configuration:
private_tests
minimal-config
small-config
medium-config
large-config
full-config
debug_and_release build_all release
debug
shared
system-zlib
angle
png
freetype
build_all
accessibility
opengl
opengles2
egl
audio-backend
wmf-backend
native-gestures
qpa
concurrentQMAKESPEC...................win32-msvc2008 (commandline)
Architecture................i386, features:
Host Architecture...........i386, features:
Maketool....................nmake
Debug build.................yes (combined)
Default build...............debug
Force debug info............no
C++11 support...............auto
Link Time Code Generation...no
Accessibility support.......yes
RTTI support................yes
SSE2 support................yes
SSE3 support................yes
SSSE3 support...............yes
SSE4.1 support..............yes
SSE4.2 support..............yes
AVX support.................no
AVX2 support................no
NEON support................no
IWMMXT support..............no
OpenGL support..............yes
Large File support..........yes
NIS support.................no
Iconv support...............no
Inotify support.............no
eventfd(7) support..........no
Glib support................no
CUPS support................no
OpenVG support..............no
OpenSSL support.............no
Qt D-Bus support............no
Qt Widgets module support...yes
Qt GUI module support.......yes
QML debugging...............yes
DirectWrite support.........no
Use system proxies..........noThird Party Libraries:
ZLIB support............system
GIF support.............plugin
JPEG support............plugin
PNG support.............yes
FreeType support........yes
Fontconfig support......no
HarfBuzz-NG support.....no
PCRE support............qt
ICU support.............no
ANGLE...................yesStyles:
Windows.................yes
Windows XP..............yes
Windows Vista...........yes
Fusion..................yes
Windows CE..............no
Windows Mobile..........noSql Drivers:
ODBC....................no
MySQL...................no
OCI.....................no
PostgreSQL..............no
TDS.....................no
DB2.....................no
SQLite..................plugin (qt)
SQLite2.................no
InterBase...............noSources are in..............c:\Qt\qt5\qtbase
Build is done in............C:\Qt\qt5\qtbase
Install prefix..............C:\Qt\qt5\qtbase
Headers installed to........C:\Qt\qt5\qtbase\include
Libraries installed to......C:\Qt\qt5\qtbase\lib
Arch-dep. data to...........C:\Qt\qt5\qtbase
Plugins installed to........C:\Qt\qt5\qtbase\plugins
Library execs installed to..C:\Qt\qt5\qtbase\bin
QML1 imports installed to...C:\Qt\qt5\qtbase\imports
QML2 imports installed to...C:\Qt\qt5\qtbase\qml
Binaries installed to.......C:\Qt\qt5\qtbase\bin
Arch-indep. data to.........C:\Qt\qt5\qtbase
Docs installed to...........C:\Qt\qt5\qtbase\doc
Translations installed to...C:\Qt\qt5\qtbase\translations
Examples installed to.......C:\Qt\qt5\qtbase\examples
Tests installed to..........C:\Qt\qt5\qtbase\tests
Using internal configuration.Generating Makefiles...
Qt is now configured for building. Just run nmake.
To reconfigure, run nmake confclean and configure.
@ -
Adding some debug lines in the rcc.cpp code I've found that the problem is the function "qCompress()".
So I added the -qt-zlib option to the configure tool, and now seems to work!So my question now is why the system zlib cause this problem? Maybe really I need the Windows SDK 7.1 instead of 7.0?
Now I'm going to build all and I hope that it works!
-
Hi,
Which version of Qt 5 are you trying to build exactly ? You can also try to ask on the interest mailing list, you'll find Qt's developers/maintainers there (this forum is more user oriented)
-
Hi,
You only need EITHER Visual Studio OR Windows SDK. You don't need both.
If I'm not mistaken, you can only use the system Zlib if you compiled it using the same compiler (MSVC 2008 in your case).
-
[quote author="SGaist" date="1389215381"]Hi,
Which version of Qt 5 are you trying to build exactly ? You can also try to ask on the interest mailing list, you'll find Qt's developers/maintainers there (this forum is more user oriented)[/quote]
The 5.2.0, and also the version taken from git that seems to be the 5.2.1.
Howerer now the buildig process is running, it seems to work... Probably the system zlib was incompatible
-
Unfortunately I think there is something wrong building Qt 5 with VS2008. I have switched back to SDK 6.0A because with SDK 7.0 I have an error of duplicate declaration of SHARD_APPIDINFOLINK.
But now I get this error:
@
qwinjumplistcategory.cpp
.\qwinjumplistcategory.cpp(134) : error C2065: 'SHARD_APPIDINFOLINK': identificatore non dichiarato
qwinthumbnailtoolbar.cpp
.\qwinthumbnailtoolbar.cpp(257) : error C2664: 'ITaskbarList3::ThumbBarAddButtons': impossibile convertire il parametro 3 da 'THUMBBUTTON [7]' a 'THUMBBUTTON'
Nessun costruttore ha potuto accettare il tipo di origine o la risoluzione dell'overload del costruttore è risultata ambigua
.\qwinthumbnailtoolbar.cpp(322) : error C2065: 'THBN_CLICKED': identificatore non dichiarato
.\qwinthumbnailtoolbar.cpp(347) : error C2676: '|=' binario: 'THUMBBUTTONFLAGS' non definisce questo operatore né una conversione in un tipo che può essere accettato dall'operatore predefinito
.\qwinthumbnailtoolbar.cpp(349) : error C2676: '|=' binario: 'THUMBBUTTONFLAGS' non definisce questo operatore né una conversione in un tipo che può essere accettato dall'operatore predefinito
.\qwinthumbnailtoolbar.cpp(351) : error C2676: '|=' binario: 'THUMBBUTTONFLAGS' non definisce questo operatore né una conversione in un tipo che può essere accettato dall'operatore predefinito
.\qwinthumbnailtoolbar.cpp(353) : error C2676: '|=' binario: 'THUMBBUTTONFLAGS' non definisce questo operatore né una conversione in un tipo che può essere accettato dall'operatore predefinito
.\qwinthumbnailtoolbar.cpp(355) : error C2676: '|=' binario: 'THUMBBUTTONFLAGS' non definisce questo operatore né una conversione in un tipo che può essere accettato dall'operatore predefinito
.\qwinthumbnailtoolbar.cpp(357) : error C2676: '|=' binario: 'THUMBBUTTONFLAGS' non definisce questo operatore né una conversione in un tipo che può essere accettato dall'operatore predefinito
.\qwinthumbnailtoolbar.cpp(364) : error C2676: '|=' binario: 'THUMBBUTTONMASK' non definisce questo operatore né una conversione in un tipo che può essere accettato dall'operatore predefinito
.\qwinthumbnailtoolbar.cpp(366) : error C2676: '|=' binario: 'THUMBBUTTONMASK' non definisce questo operatore né una conversione in un tipo che può essere accettato dall'operatore predefinito
.\qwinthumbnailtoolbar.cpp(368) : error C2676: '|=' binario: 'THUMBBUTTONMASK' non definisce questo operatore né una conversione in un tipo che può essere accettato dall'operatore predefinito
Generazione del codice in corso...
NMAKE : fatal error U1077: '"C:\Program Files (x86)\Microsoft Visual Studio 9.0
VC\BIN\cl.EXE"' : codice restituito '0x2'
Stop.
NMAKE : fatal error U1077: '"C:\Program Files (x86)\Microsoft Visual Studio 9.0
VC\BIN\nmake.EXE"' : codice restituito '0x2'
Stop.
NMAKE : fatal error U1077: 'cd' : codice restituito '0x2'
Stop.
NMAKE : fatal error U1077: 'cd' : codice restituito '0x2'
Stop.
NMAKE : fatal error U1077: 'cd' : codice restituito '0x2'
Stop.
@The first error is about the not declared identifier SHARD_APPIDINFOLINK, that is a Windows enumeration. I've found that in the Qt file winshobjidl.h is declared the struct shobjidl.h "SHARDAPPIDINFOLINK":http://msdn.microsoft.com/en-us/library/windows/desktop/dd391558.aspx, so I added the declaration also of "SHARD_APPIDINFOLINK":http://msdn.microsoft.com/en-us/library/windows/desktop/dd378453.aspx and this error seems to be fixed.
Hovewer I don't know how to fix the other errors, about THUMBBUTTON and THUMBBUTTONFLAGS. Reading the "msdn documentation ":http://msdn.microsoft.com/en-us/library/windows/desktop/dd391559.aspx seems that the structure and methods used here are supported only by Windows 7: "(Minimum supported client Windows 7 [desktop apps only])".
What I think is that using SDK 7.0 I will have all this Windows structures available, but there is a problem of duplicate declarations because in the qt files, using VS2008, are declared a second time (eg SHARD_APPIDINFOLINK in winshobjidl.h and maybe others)
-
As per the thread in the Development mailing list, this is a bug which is now being worked on: https://bugreports.qt-project.org/browse/QTBUG-35980
-
Thank you for reply.
I have removed the SHARDAPPIDINFOLINK declaration in winshobjidl.h and I am able to build successfully with SDK 7.0.