2013-04-02 99 views
3

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

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

问题在于,在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编译器定义。我应该伪造这些定义来代替使用gcc吗?我怎样才能做到这一点?

我想用xbuild做什么?

+0

最好的选择是建立在VS2010项目中使用的文件全新的Mono项目,并相应修改配置。尝试将msbuild和其他msstuff与anythig合理匹配就是浪费时间。 –

+0

通过应用相对路径的唯一规则(避免驱动器盘符),工具可以很容易地将所有'\'更改为'/'。它甚至可以获取环境变量并更改'$(ProjectDir)'等。宏。至少我已经做了8年多的成功。 –

回答

相关问题