[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