Hello, I recently had the idea that it would be great if GCC/G++ were integrated into MSVC (I'm sure I'm not the first). That is, if you could put a user in front of a computer with Visual Studio installed and for them to be able to write an arbitrary program from start to finish without realizing that they were not actually using Microsoft's compiler on the backend (barring, of course, the fact that it would print GCC version information or something in the build log) (also assuming that the user is completely stupid, aside from the ability to write excellent C/C++ code).
All jokes aside however this is not quite as hard as it sounds, and I believe about 90% of the work that would need to be done is with regards to the MSBuild system, editing / creating xml files which are the MSVC equivalent of makefiles. You can even create entire configuration UI's just like what you get in MSVC without writing any code, only editing their XML equivalent of makefiles (at least this is true in the upcoming MSVC10, it's probably true at least to some extent in prior versions but I don't know). On the other hand, it's not easy either. So I'm posting this to see if there is any interest. I am of course willing to contribute (substantially) to such a project, but I know myself and given the amount of work that needs to be done I do not think I have the time to take it from start to finish single handedly. It's a bit of a catch-22 asking this question here, since by definition most people here don't use MSVC, but on the other hand there would be no reason for MSVC fanboys (which I admit I'm partially guilty of being) not to switch to GCC if it were really almost exactly the same as using MSVC. I think it would be great to have the power of MSVC's ide coupled with GCC being pretty much at the forefront of standards compliance, especially with respect to C++0x. A few areas would be difficult, perhaps implausible, to support. This includes things like syntax coloring / error squiggles according to what GCC believes to be the correct syntax. It's also not immediately clear how such a project would affect Intellisense, parameter / member display tooltips, etc since if a feature unsupported by MSVC were used it would in theory be possible to confuse MSVC's native engine. In essence the immediate goal of the project would be to support nothing more than switching out the compiler being used when you click "build", and a user interface exposing all of the possible command line options that can be used with GCC. And as mentioned, these two modest goals would require very little actual C/C++/C# support code to be written. With support for this, most things (including integrated debugging support using the msvc native debugger) should "just work". So all that aside, is there any interest at all? Reasons explaining why I'm crazy and/or wasting my time also welcome. Regards, Zach