[英]Easiest way to “port” a Visual Studio C++ project to compile on Linux?
[英]Can I compile a Visual C++ project on Linux using xbuild?
我有一个现有的项目,我使用Visual C ++ 2008和Debian Linux在Windows上编译。 该项目使用标准的Visual C ++ .vcproj
文件,以及一些.cpp
和.h
文件。 它不依赖于任何Windows特定的东西。 只是简单的C ++。
它在Linux上编译和运行良好,使用自制工具读取.vcproj
文件以生成Makefile
,该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.`
现在,这看起来像项目文件需要一些Microsoft的Cpp
编译器规则定义。 我应该伪造这些定义来使用gcc
吗? 我怎样才能做到这一点?
我想用xbuild
做什么?
没有理由重新发明轮子 - 只需使用gyp。 “GYP可以生成您的项目”或makefiles。 http://code.google.com/p/gyp/
有一个项目GCCBuild ,您可以使用它在Linux中构建vcxproj项目。 它只使用相同的vcxproj,但使用GCC进行编译和构建。 那里也有很多例子。
PS。 我是该项目的作者。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.