[Interest] Buggy Makefile for config.tests\arch?
Gisle Vanem
gvanem at broadpark.no
Wed Feb 13 22:16:24 CET 2013
"Joerg Bornemann" <joerg.bornemann at digia.com> wrote:
> Note that this is a standard qmake generated Makefile and nothing
> special. arch.exe.embed.manifest is generated by the linker and usually
> stems from a build you did before.
This is my first build. So how can "arch.exe.embed.manifest" already
be present? Okay, I retested this with content in g:\Qt\5.0\qtbase\config.tests\arch
only containing arch.cpp + arch.pro. I.e. a
nmake distclean
del arch.exe.manifest.
Then with my env-vars set to:
QMAKESPEC=win32-msvc2010
QTDIR=g:\Qt\5.0
QT_BUILD_DIR=g:\Qt\5.0
QT_INSTALL_EXAMPLES=g:\Qt\5.0\qtbase\examples
QT_SOURCE_TREE=g:\Qt\5.0
Correct? So w/o patching arch.pro as you tipped me about below, issuing the
commands "qmake & nmake -d" produces this:
on, feb 13 2013 14:32:44 arch.cpp
on, feb 13 2013 14:33:06 G:\Qt\5.0\qtbase\src\corelib\global\qprocessordetection.h
arch.obj target does not exist
on, feb 13 2013 14:32:44 arch.cpp ** .\arch.cpp newer than arch.obj
cl -c -nologo -Zm200 -Zc:wchar_t -Zi -MDd -W3 -w34100 -w34189 -EHsc -DUNICODE
-DWIN32 -DQT_NO_DYNAMIC_CAST -I"G:\Qt\5.0\qtbase\mkspecs\win32-msvc2010"
-Fo @F:\TEMP\nm4263.tmp arch.cpp
arch.exe target does not exist
on, feb 13 2013 14:32:44 arch.cpp
** arch.cpp newer than arch.exe
echo 1 /* CREATEPROCESS_MANIFEST_RESOURCE_ID */ 24 /* RT_MANIFEST */ ...
"arch.exe.embed.manifest">arch.exe_manifest.rc
if not exist arch.exe del arch.exe.embed.manifest>NUL 2>&1
NMAKE : fatal error U1077: 'if' : return code '0x2'
Stop.
---------
The test:
if not exist arch.exe del arch.exe.embed.manifest>NUL 2>&1
is performed prior to the link step. So this generated Makefile
is breaking causality AFAICS.
I'm really tired of nmake (not even line numbers for these errors),
but I just love GNU make. Is it not possible to use mingw32-make
to build a MSVC2010 version of Qt5?
> Looks like the link call did not produce a manifest file.
> Can you confirm this?
>
> To work around this issue you could add
> CONFIG -= embed_manifest_exe
> to config.tests/arch/arch.pro
That works fine. Thanks.
--gv
More information about the Interest
mailing list