Visual C++ 2008 を使用する Windows と Debian Linux の両方でコンパイルする既存のプロジェクトがあります。このプロジェクトでは、標準の 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
ですか?