Cannot build/use pipewire with a c++ application or library
There is lots of functions returning void * pointers and assigning them to various pointer types, which results into errors when C++ compilator is used.
Errors look like this one:
/usr/include/spa/pod/builder.h: In function ‘void* spa_pod_builder_pop(spa_pod_builder*)’: /usr/include/spa/pod/builder.h:151:34: error: invalid conversion from ‘void*’ to ‘spa_pod*’ [-fpermissive] if ((pod = spa_pod_builder_deref(builder, frame->ref)) != NULL) ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~
I can provide a simple test case if you want, but all you need is to just include main pipewire header and compile. Problem is that many header files actually contain the implementation, having just headers with definition of functions would solve this problem.