fabedd399e
When a ObjC++ QObject subclass is listed in the regular HEADERS, qmake creates a .cpp file. The moc file will then fail to compile, as it requries ObjC++ headers. Using Q_FORWARD_DECLARE_OBJC_CLASS() can be used to let the class be parsed by The compiler, but link will still fail, as the generated methods (e.g. signals) must be built with ObjC++ compiler, in case they have ObjC parameters: Q_FORWARD_DECLARE_OBJC_CLASS(NSString); class MyClass: public QObject { Q_OBJECT signals: void objcSignal(NSString * myObj); }; The canonical workaround for that is including the .cpp file into the corresponding .mm file. This also offers a compilation speed advantage, but is somewhat counter-intuitive. Therefore, we introduce a separate variable which instructs moc to create .mm files directly. Task-number: QTBUG-1581 Change-Id: Ia98af58006efd168ea37f3a63c396979e7e81baa Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io> |
||
---|---|---|
.. | ||
doc | ||
generators | ||
library | ||
cachekeys.h | ||
main.cpp | ||
Makefile.unix | ||
Makefile.unix.macos | ||
Makefile.unix.mingw | ||
Makefile.unix.unix | ||
Makefile.unix.win32 | ||
Makefile.win32 | ||
meta.cpp | ||
meta.h | ||
option.cpp | ||
option.h | ||
project.cpp | ||
project.h | ||
property.cpp | ||
property.h | ||
qmake_pch.h | ||
qmake-aux.pro | ||
qmake.pri | ||
qmake.pro |