MinGW: windres.exe error when adding include directory containing spaces
If all of the following conditions are true, an error gets thrown preventing a project to be build:
- Compiling with MinGW toolchain
- Adding a resource file, e.g.
resource.rc
andresource.h
to a binary (executable or library) - Adding at least one include directory containing spaces
See this minimal example: winres-spa_ce-issue.7z throwing this error:
[ 66%] Building RC object CMakeFiles/winres-space-issue-test-application.dir/include/resource.rc.obj
C:\msys64\mingw64\bin\windres.exe -O coff -I"<WORKSPACE>\winres-spa ce-issue\sources\include" -I"<WORKSPACE>\winres-spa ce-issue\build\mingw_makefiles_Debug\amd64\include" "<WORKSPACE>\winres-spa ce-issue\sources\include\resource.rc" CMakeFiles\winres-space-issue-test-application.dir\include\resource.rc.obj
gcc: error: ce-issue\sources\include: No such file or directory
gcc: error: ce-issue\build\mingw_makefiles_Debug\amd64\include: No such file or directory
C:\msys64\mingw64\bin\windres.exe: preprocessing failed.
mingw32-make[2]: *** [CMakeFiles\winres-space-issue-test-application.dir\build.make:82: CMakeFiles/winres-space-issue-test-application.dir/include/resource.rc.obj] Error 1
mingw32-make[2]: Leaving directory '<WORKSPACE>/winres-spa ce-issue/build/mingw_makefiles_Debug/amd64'
mingw32-make[1]: *** [CMakeFiles\Makefile2:81: CMakeFiles/winres-space-issue-test-application.dir/all] Error 2
mingw32-make[1]: Leaving directory '<WORKSPACE>/winres-spa ce-issue/build/mingw_makefiles_Debug/amd64'
mingw32-make: *** [Makefile:89: all] Error 2
Edited by Brad King