我有一个现有的项目,我在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
做什么?
最好的选择是建立在VS2010项目中使用的文件全新的Mono项目,并相应修改配置。尝试将msbuild和其他msstuff与anythig合理匹配就是浪费时间。 –
通过应用相对路径的唯一规则(避免驱动器盘符),工具可以很容易地将所有'\'更改为'/'。它甚至可以获取环境变量并更改'$(ProjectDir)'等。宏。至少我已经做了8年多的成功。 –