[Interest] Q_OS_ANDROID macro

Nuno Santos nunosantos at imaginando.pt
Wed Feb 4 11:50:10 CET 2015


My real problem is with the slot parameter type that will not exist in Android.

> On 04 Feb 2015, at 10:37, Reinhardt Behm <rbehm at hushmail.com> wrote:
> 
> -- 
> 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