Hi and welcome to devnet,
That's because you try to access a standard member variable from a static function.
Take a look at the ir_receiver example of the pigpio project. It shows how to use a class with the callback with gpioSetAlertFuncEx.
What is your definition of native ?
A while loop is the same thing on Linux, OS X or Windows.
From a pure design point of view, I'd rather create a dedicated QObject derived class rather than subclass QCoreApplication.