Look at the preprocesser output so you can see what's actuall being passed to the compiler.
It looks like you're using Microsoft's compiler. If you're using Visual C++:
1. Select the C++ project source file in Solution Explorer
2. Select Properties
3. Open tree Confguration Properties -> C++ -> Preprocessor
4. Set option "Generate Preprocessed File" to Yes
5. Set option "Keep Comments" to Yes
6. Press OK
7. Compile the file
8. Open the preprocessed output, it'll have the same name as the source file with a .i extension.
This is a single file with all the included files amalamated and macros resolved. Start reading from the end and work your way back.
Remember to switch off the preprocessor output when you want to compile your code again.