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

时间:2013-04-02 15:40:17

标签: c++ linux gcc mono xbuild

我有一个现有项目,我使用Visual C ++ 2008和Debian Linux在Windows上编译。此项目使用标准的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.但是在搜索这个问题时,我发现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编译器的 Microsoft 规则定义。我应该伪造这些定义来使用gcc吗?我怎么能这样做?

我想用xbuild做什么?

2 个答案:

答案 0 :(得分:1)

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

答案 1 :(得分:0)

有一个项目GCCBuild可用于在Linux中构建vcxproj项目。它只使用相同的vcxproj,但使用GCC进行编译和构建。那里也有很多例子。

PS。我是该项目的作者。