Basically you can use global replaces to:
- Remove all comments
- Remove all blank lines
- Remove 3/4 of other line feeds
- Replace all function names, (except main), with Fnnnn where nnnn is a 4 digit number
- Take random chunks of code and move them into macro definitions
- Replace all variable names with Vnnnnnn where nnnnnn is a 6 digit number
- Rename all Classes Cnnnn
- Rename all defines with Dnnnnn
- Rename all the files Fnnnn
That will give you a fair degree of obfuscation, (just like the code written by some of the people that I have worked with - maybe you should just hire some of them).
Depending on your tool chain you could also compile your code to ASM output with full optimisation turned on and then reverse engineer portions of your code to the way that the optimiser does it.