I wrote a program on GNU Radio companion 3.8.1.0 which works fine when I select the Python language.
However, when I select the C ++ output language, I get the error
This block does not support C++ output
for the blocks WBFM Receive, osmocom source and rational resampler.
Could you explain to me how to solve this please ?
As the error messages says, these blocks do not support C++ output.
GRC's job is to convert your graphical representation of a flow graph into a program – in the (default) Python, that's the Python code that instantiates all the blocks, sets up the flow graph, connects all the blocks and tells GNU Radio to run the flow graph.
In the C++ mode, the generated code is C++.
For either to work, the developers of these blocks need to have written the template for what needs to be inserted into the resulting program.
For many of the in-tree blocks that GNU Radio brings that happened for both Python and C++. However, for WBFM receive this could not have happened – the block itself is a Python hierarchical block! It's impossible to wrap in C++ (most blocks are written in C++ and wrapped for Python. It's hard to go the ther way around).
Same for the Rational Resampler, that's a Python hier block that calculates the resampler's filter taps on demand. And if I remember correctly, also for the osmocom blocks.
So, since all these are written in Python, you couldn't use them without Python, anyways.
Note that it has zero performance advantages to construct a flowgraph from C++ vs Python: All that's done from Python side is tell GNU Radio what to create, connect and run. All the signal processing is done in C++ code (unless you've written a Python block, but you'll rarely find these for any signal processing code).