Priority: P2: Important
Affects Version/s: 5.12.2
Fix Version/s: None
Component/s: Build tools: moc
Our build system uses symlinks to create a copy of the directory structure to build, but places all the actual files it wants to use in a flat directory (all file names are hashed). This causes troubles for moc when it is resolving includes, since it removes the symlink info by calling canonicalFilePath() in preprocessor.cpp.
And trying to invoke moc:
But if you were to patch preprocessor.cpp:
It picks up the symbol and the class.
This seems like a similar issue to https://bugreports.qt.io/browse/QTBUG-22655, not sure if there should be some more general cleanup or policy on what to do with symlinks in the build tools.