rcc.exe return code '0xc000007b'
I am posting in hoping that it just a silly mistake that i have done so here it is :
I am getting the following :
C:\QT-build\msvc2017_64\qtbase\bin\qfloat16-tables.exe global\qfloat16tables.cpp C:\QT-build\msvc2017_64\qtbase\bin\rcc.exe -name mimetypes C:\QT-build\qt-everywhere-opensource-src-5.10\qtbase\src\corelib\mimetypes\mimetypes.qrc -o .rcc\debug\qrc_mimetypes.cpp NMAKE : fatal error U1077: 'C:\QT-build\msvc2017_64\qtbase\bin\rcc.exe' : return code '0xc000007b' Stop. NMAKE : fatal error U1077: '"C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\VC\Tools\MSVC\14.12.25827\bin\HostX64\x64\nmake.exe"' : return code '0x2' Stop. NMAKE : fatal error U1077: 'cd' : return code '0x2' Stop. NMAKE : fatal error U1077: 'cd' : return code '0x2' Stop. NMAKE : fatal error U1077: 'cd' : return code '0x2' Stop.
When building latest 5.10 from git, my configure line is the following :
CALL %QT_SOURCE%\configure -confirm-license -prefix %QT_DIST% -mp -debug-and-release -icu -I %ICU_DIST%\include -L %ICU_DIST%\lib -shared -system-sqlite -I C:\Dev\dependencies\sqlite3\include -L C:\Dev\dependencies\sqlite3\lib -sql-odbc -sql-psql -I C:\Dev\postgresql\x64\include -L C:\Dev\postgresql\x64\lib -sql-mysql -I C:\Dev\mysql\x64\include\mysql -L C:\Dev\mysql\x64\lib -system-zlib -I C:\Dev\dependencies\zlib\include -L C:\Dev\dependencies\zlib\lib -system-libjpeg -I C:\Users\echelon\Documents\Works\Compiling\jpeg-9b -L C:\Users\echelon\Documents\Works\Compiling\jpeg-9b -system-libpng -I C:\Users\echelon\Documents\Works\Deps\x64\VS2017\libpng\Static\Release\include -L C:\Users\echelon\Documents\Works\Deps\x64\VS2017\libpng\Static\Release\lib -gif -ico -v -qt-pcre -qt-freetype -nomake tests -opensource -openssl-linked OPENSSL_LIBS_DEBUG="C:\Users\echelon\Documents\Works\Deps\x64\VS2017\OpenSSL\Static\Debug\lib\ssleay32.lib C:\Users\echelon\Documents\Works\Deps\x64\VS2017\OpenSSL\Static\Debug\lib\libeay32.lib" OPENSSL_LIBS_RELEASE="C:\Users\echelon\Documents\Works\Deps\x64\VS2017\OpenSSL\Static\Release\lib\ssleay32.lib C:\Users\echelon\Documents\Works\Deps\x64\VS2017\OpenSSL\Static\Release\lib\libeay32.lib" -platform win32-msvc
Checking all required libraries are indeed 64 Bit not missmatch or mixed between 32 bit and 64 bit libraries, manually invoking C:\QT-build\msvc2017_64\qtbase\bin\rcc.exe is a success without any error.
Checking out the rcc.exe through dependency walker 64 bit is showing no mixed 32 bit libraries.
Full build log available here : https://bugreports.qt.io/browse/QTBUG-65814
are you sure that the build-environment has the same PATH as the desktop environment (where you called DependencyWalker from)?
Haven't thought about that, i was running Dependency Walker 64 Bit through the same command prompt that i was used for building and after 30 minutes, it shows no miss-match dependencies, all is in 64 bit, the only difference is Dependency Walker took longest time to load which is around 30 minutes.
the only difference is Dependency Walker took longest time to load which is around 30 minutes.
30 minutes?! o.O
That seems very strange
Yup, the Dependency Walker load is fast but after i have picked the rcc.exe, it roughly took around 30 minutes lol.
About the issue, i have rechecked all of the libraries that will be linked in the qt building process, and all of them seem already in 64 bit!, so i am really baffle in here.
Manually invoking the "C:\QT-build\msvc2017_64\qtbase\bin\rcc.exe -name mimetypes C:\QT-build\qt-everywhere-opensource-src-5.10\qtbase\src\corelib\mimetypes\mimetypes.qrc -o .rcc\debug\qrc_mimetypes.cpp" in the command line that was used in the QT build is returning without any such error :-(.
Any other ideas on where i have did it wrong?
echelon last edited by echelon
I have a thought that probably because of multi-threaded when building QT, i couldn't see the exact project file or file that is causing the error, is there any switch or option or env variable to be set for building qt at single thread?
Ok now i am added "SET CL=/MP1 " to my command line, let see if it's make any differences.
"SET CL=/MP1 "
The same exact error messages so there is no 'race condition' in the log
Probably useful to someone in the future, but looks like or probably there was a program installing wrong runtime libraries to either syswow64 or system32 directory, somehow the VS 2017 Developer Prompt is picking it up and using it instead, so the solution is to copy all of the required runtime libraries for QT into C:\QT-build\msvc2017_64\qtbase\bin ( which is in my case the destination directory in which the QT are being built ) and then you can start invoking the QT's configure.