我可以使用xbuild在Linux上编译一个Visual C ++项目吗?

我有一个现有的项目,我可以在Windows上使用Visual C ++ 2008和Debian Linux进行编译。 该项目使用标准的Visual C ++ .vcproj文件,以及一些.cpp.h文件。 它不依赖于任何Windows特定的东西。 只是简单的C ++。

它在Linux上编译和运行良好,使用一个自制的工具读取.vcproj文件,生成一个Makefile ,与make一起使用,用g++编译和链接所有文件。

麻烦的是,在Visual C ++ 2010(和2012)中,项目文件的格式已经改变。 即使名称已经从.vcproj更改为.vcxproj 。 我自制的工具无法读取这个新的项目文件来生成Makefile

而不是升级自制工具来支持新的项目文件,我想知道如果xbuild能够编译我的Linux可执行文件?

我试着编译我自己的(VC ++ 2008)项目,但是xbuild抱怨说我的项目is a VS2003 project, which is not supported by xbuild. 然而,当search这个问题时,我发现xbuild应该支持VS2005项目文件。 也有一些参考mdtool来支持这些旧的项目文件,但我似乎现在被集成到xbuild

此外,我试图编译一个从MSDN网站获得的Visual C ++ 2010示例(HuoChess)。 结果是

 /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.` 

现在,这看起来像项目文件需要一些微软 Cpp编译器规则的定义。 我应该伪造这些定义来使用gcc吗? 我怎样才能做到这一点?

我想用xbuild做什么?

没有理由重新发明轮子 – 只使用gyp。 “GYP可以生成你的项目”或者makefiles。 http://code.google.com/p/gyp/