我有一个使用 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.`
现在,看起来项目文件需要一些Microsoft为编译器定义的规则。Cpp
我应该伪造这些定义来gcc
代替使用吗?我怎样才能做到这一点?
我想做的事有可能xbuild
吗?