This is the kind of shit I mean when I say that C/C++ is a kind of hazing ritual: yes, for a project at the scale of Wine, you can make it safe by writing all the right macros, turning on all the right lints, and vendoring all the right libraries, but it takes a lot of work to get there.
If you don't put in the work, things will seem to compile and run OK, but with a lot higher risk of surprising and difficult bugs.
C and C++ don't work correctly *by default*, and that creates a barrier.