Details
-
Bug
-
Resolution: Duplicate
-
Not Evaluated
-
None
-
5.9.1
-
None
-
Qt 5.9.1
Description
After updade from 5.6.0 to 5.9.1 I am unable to compile some of my projects.
// HWRenderer.cpp #ifdef _DEBUG #include "YUVPlanarsDebug.h" #else #include "YUVPlanars.h" #endif ...
// project.pro ... SOURCES += HWRenderer.cpp SHADERS = direct3d9/HWRenderer/Shaders/YUVPlanars.psh win32 { CONFIG(debug, debug|release) { psa.output = ${QMAKE_FILE_PATH}/${QMAKE_FILE_BASE}Debug.h PSAFLAGS = /Zi #HEADERS -= direct3d9/HWRenderer/Shaders/YUVPlanars.h #HEADERS -= direct3d9\HWRenderer\Shaders\YUVPlanars.h } else { psa.output = ${QMAKE_FILE_PATH}/${QMAKE_FILE_BASE}.h PSAFLAGS = #HEADERS -= direct3d9/HWRenderer/Shaders/YUVPlanarsDebug.h #HEADERS -= direct3d9\HWRenderer\Shaders\YUVPlanarsDebug.h } psa.commands = \"$(LIB_HOME)/DirectX SDK/Utilities/Bin/x86/psa.exe\" $$PSAFLAGS /Vng_${QMAKE_FILE_BASE}PS /Fh${QMAKE_FILE_OUT} ${QMAKE_FILE_NAME} psa.name = Assembling ${QMAKE_FILE_BASE}${QMAKE_FILE_EXT} shader psa.CONFIG = no_link psa.input = SHADERS QMAKE_EXTRA_COMPILERS += psa }
After then I run qmake it generates incorrect Makefile.Debug:
// Makefile.Debug
...
..\..\..\Temp\QtIssRenderer\debug64\HWRenderer.obj: direct3d9\HWRenderer\HWRenderer.cpp direct3d9/HWRenderer/HWRenderer.h \
direct3d9\HWRenderer\Shaders\YUVPlanarsDebug.h \
direct3d9\HWRenderer\Shaders\YUVPlanars.h \
...
...
So during nmake the compilation failed as in debug only YUVPlanarsDebug.h is generated and nmake fail to find YUVPlanars.h.
assembly succeeded; see direct3d9\HWRenderer\Shaders\YUVPlanarsDebug.h NMAKE : fatal error U1073: don't know how to make 'direct3d9\HWRenderer\Shaders\YUVPlanars.h'
For now I am looking for a fast workaround like Q_MOC_RUN macro in source file or TR_EXCLUDE in pro-file.
Attachments
Issue Links
- duplicates
-
QTBUG-11923 qmake ignores preprocessor conditional inclusion
- Open