The easiest approach will be using CGI.
You can use
http://www.gnu.org/software/cgicc for C++.
The good thing about CGI is that you can leave a lot of the functionality to the web server: authentication, encryption, ...
XML might be used for the communication directly in a challenge-response manner.
You might have hard time converting the application from MSVC to GCC. I would recommend that you first try to get rid of the windows.h header, and then start slowly testing your application under GCC. Don't use the GCC builds for Windows (GCC 3.x). Linux provides many supreme debug tools like valgrind or GDB, so don't forget to use them, they really pay up.