I must convert a Windows GUI application to a Linux GUI application. Unfortunately, my Linux experience is almost nil.

The converted app which is written entirely in Win32 C, must run on many different flavors of Linux from Redhat to Debian to Ubuntu.

So, I'm looking for suggestions to make this conversion as painless and portable as possible. For instance, I'm aware that there are different Linux GUIs. But is there a common denominator GUI that I can develop to? In other words, I want to make the converted app portable to just about any variation of Linux.

Also, a compiler recommendation would be greatly appreciated. I'm looking for a compiler comparable to MS Visual C++