title: Can I compile a Visual C++ project on Linux using xbuild?
body: <p>I have an existing project that I compile on both Windows using Visual C++ 2008, and Debian Linux. This project uses a standard Visual C++ <code>.vcproj</code> file, and some <code>.cpp</code> and <code>.h</code> files. It does not rely on any Windows specific stuff. Just plain C++.</p>
  
  <p>It compiles and run well on Linux, using a <em>home made tool</em> that reads the <code>.vcproj</code> file to generate a <code>Makefile</code> which is used with <code>make</code> to compile and link all files using <code>g++</code>.</p>
  
  <p>The trouble is that with Visual C++ 2010 (and 2012), the format of the project files have changed. Even the name has been changed from <code>.vcproj</code> to <code>.vcxproj</code>. My <em>home made tool</em> cannot read this new project file to generate the <code>Makefile</code>.</p>
  
  <p>Instead of upgrading the <em>home made tool</em> to support new project files, I was wondering if <code>xbuild</code> would be able to compile my Linux executable?</p>
  
  <p>I tried first to compile my own (VC++2008) project, but <code>xbuild</code> complains that my project <code>is a VS2003 project, which is not supported by xbuild.</code> However when googling on this matter, I find that <code>xbuild</code> is supposed to support VS2005 project files. There are also some references to <code>mdtool</code> to support these old project files, but I seems to be integrated into <code>xbuild</code> now.</p>
  
  <p>Furthermore, I tried to compile a Visual C++ 2010 example (HuoChess) got from the MSDN site. The result is</p>
  
  <pre><code>/Microsoft.Cpp.Default.props: Project file could not be imported, it was being
  imported by [...] /HuoChessConsole/HuoChessConsole.vcxproj: Imported project:
  "//Microsoft.Cpp.Default.props" does not exist.`
  </code></pre>
  
  <p>Now, this looks like the project file wants some <em>Microsoft</em> definitions of <em>rules</em> for the <code>Cpp</code> compiler. Should I fake these definitions to use <code>gcc</code> instead? How can I do this?</p>
  
  <p>Is what I want to do ever possible with <code>xbuild</code>?</p>