I have the same issue, I use multiple different compilers and machines every day that all have their own unique ways of giving out the warnings and errors.
What I did, was modify the 4Coder 'jump' code. At the point where it gets the next line in the jump list, check the start of the path, if it starts with ./ prepend the known root to the file.
Likewise if it starts with ../ prepend the root, but drop the last directory.
You need to know what the root directory is, but you could use the projects root and just run your compiler from there.
I believe GCC will return the same path to a file that you supply it with, which may help,or you could go crazy and add something into the project file itself to specify the compilation root directory.
The string functions in 4coder have a lot of the work done for you, there are helpers to modify a path.
Not the best or most correct solution by far, but it works for 99% of the time for me at least.
P.S.
Now that I’m writing this down, it sounds truly awful, but trust me it works for me day after day