problem
win32환경에서 qt/mingw를 사용해서 빌드할 때 아래 같이 moc.exe 를 못찾겠다고 하면서 컴파일 실패하는 경우가 있다.
......
compiling ../../qwt/src/qwt_thermo.cpp
compiling ../../qwt/src/qwt_wheel.cpp
moc ../../qwt/src/qwt_dyngrid_layout.h
/usr/bin/sh: C:\Qt\5.3\mingw482_32\bin\moc.exe: command not found
Makefile.Release:368: recipe for target 'moc/moc_qwt_dyngrid_layout.cpp' failed
mingw32-make[2]: *** [moc/moc_qwt_dyngrid_layout.cpp] Error 127
mingw32-make[2]: Leaving directory 'C:/Users/dhpark/hacking/qwt-code/build-qwt-Desktop_Qt_5_3_MinGW_32bit-Release/src'
mingw32-make[1]: *** [release-all] Error 2
Makefile:38: recipe for target 'release-all' failed
mingw32-make[1]: Leaving directory 'C:/Users/dhpark/hacking/qwt-code/build-qwt-Desktop_Qt_5_3_MinGW_32bit-Release/src'
Makefile:45: recipe for target 'sub-src-make_first-ordered' failed
mingw32-make: *** [sub-src-make_first-ordered] Error 2
14:27:20: The process "C:\Qt\Tools\mingw482_32\bin\mingw32-make.exe" exited with code 2.
Error while building/deploying project qwt (kit: Desktop Qt 5.3 MinGW 32bit)
When executing step 'Make'
14:27:20: Elapsed time: 03:23.
solution
sh의 문제로 파악됨. 즉, 다른 sh가 compile 과정에 개입되어서 생기는 문제임.
Qt/MingW 설치 디렉토리 이외의 sh를 사용하지 못하게 PATH에서 Cygwin, MSYS등을 제거한다.
ref: http://www.qtcentre.org/threads/947-Problem-with-make-(can-t-call-moc-exe)
happy hackin'