[Interest] Q_OS_ANDROID macro

Reinhardt Behm rbehm at hushmail.com
Wed Feb 4 11:37:19 CET 2015


-- 
Best Regards

Reinhardt Behm

mailto: rbehm at hushmail.com
Skype: reinhardt.behm

A different header file is possible but a bit messy solution. 
You can use the macro in the .cpp to create one real slot function and one for 
android which is just an empty dummy.

Moc does not care what you do in your .cpp file.

-- 
Reinhardt

On Wednesday 04 February 2015 10:21:02 Nuno Santos wrote:
> Hi,
> 
> Thanks for your reply.
> 
> How can I workaround this situation? Create a specific source file for
> Android?
> 
> Any other ideas?
> 
> Thanks,
> 
> Nuno
> 
> > On 04 Feb 2015, at 10:18, Reinhardt Behm <rbehm at hushmail.com> wrote:
> > 
> > On Wednesday 04 February 2015 10:05:12 Nuno Santos wrote:
> >> Hi,
> >> 
> >> I have been faced with an awkward situation when building an app for
> >> android:
> >> 
> >> My app uses Bonjour but that is not available on Android, so basically
> >> for
> >> android I don’t want to include some slots in a particular class:
> >> 
> >> #ifndef Q_OS_ANDROID
> >> void recordAdded(const BonjourRecord &record);
> >> void recordRemoved(const BonjourRecord &record);
> >> void bonjourRecordResolved(const QHostInfo &hostInfo, int port);
> >> #endif
> >> 
> >> When compiling for Android, moc file as complaining about not having the
> >> implementation of the methods above which means that the preprocessor has
> >> passed over Q_OS_ANDROID, however, QtCreator had that area greyed out.
> >> 
> >> Is Q_OS_ANDROID available at the time the header file is processed for
> >> moc
> >> generation? to avoid this situation?
> > 
> > MOC does not understand and therefor does not respect macros and #ifdef.




More information about the Interest mailing list