what I mean is build your C++ project, just call some C code like pthread_create () from C++ code. you dont want to build your own UNIX core, just use it. So there is no difference between C & C++ at this point.
(dont forget C++ contains all attributes of C code)
you can package your thread, your MQ... into C++ classes by this method. and the code in your application is definently C++ code.