我有一个现有项目,我使用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
做什么?
答案 0 :(得分:1)
没有理由重新发明轮子 - 只需使用gyp。 “GYP可以生成您的项目”或makefiles。 http://code.google.com/p/gyp/
答案 1 :(得分:0)
有一个项目GCCBuild可用于在Linux中构建vcxproj项目。它只使用相同的vcxproj,但使用GCC进行编译和构建。那里也有很多例子。
PS。我是该项目的作者。