12

プロジェクトの開発に Visual Studio 2012 を使用しており、Visual Studio 2010 もインストールしています。これにより、Visual Studio 2012 (プロジェクト プロパティ) で VC++10 コンパイラを使用するオプションが提供されますが、Visual C++ 6 もインストールされています。 Visual Studio 2012 には VC++6 コンパイラを使用するオプションがありません。このオプションを (手動で) 追加するにはどうすればよいですか?

4

1 に答える 1

19

答えは間違いなく多分です。可能性は十分にあると思われますが、VC 6 のコピーを取得できなかったため、確認できませんでした。私ができたのは、VS 2012 で VC 7 (VS 2002) を使用してプロジェクトをコンパイルすることでした。

更新:答えは間違いなくイエスです。OPはコメントで、このソリューションを使用してVC 6を機能させることができたことを示しています。

構成

私がこれを行った方法は、以下をインストールすることでした(インストール順に):

Windows 7、SP1、32 ビット

VS 2012 をサポートする最も古いバージョンの Windows であるため、Windows 7 を選択しました。VS 2002 (VC7) は x64 マシンにインストールできないため、32 ビット バージョンを使用しました。

ビジュアル スタジオ 2002、SP1

前述のとおり、VC6 を取得できませんでした。Microsoft のサイトのどこにもありませんでした。この質問に対するブルースのコメントは、次の有益な洞察を提供します。

Visual C++ 6.0 は、Microsoft JVM が含まれていたため、Microsoft から (MSDN 経由を含めて) 入手できません。詳細については、このリンクを参照してください。–ブルースクラン

上記を見て、VS 2002 (VC 7) をインストールするのが次善の策だと思いました。

明らかに、コピーがある場合は、これが VC 6 をインストールする場所です1

1興味のある方は、VC 6 が Ebay で入手できることに注意してください。ポイントではなく実際の通貨で支払われていたら、私はさらに一歩進んでテスト用の VC 6 のコピーを入手したでしょう。

ビジュアル スタジオ 2010、SP1

これの唯一の理由は、それがDaffodilの要件だからです。水仙の詳細は以下のとおりです。

Visual Studio 2012、更新 2

これは元の質問からの要件です。

水仙

これは、VS 2010 および VS 2012 が古い VC コンパイラをターゲットにできるようにする構成ファイルのセットです。

現在、サポートされている VC コンパイラのバージョンは次のとおりです。

  • VC 8 (ビジュアル スタジオ 2005)
  • VC 7.1 (ビジュアル スタジオ 2003)
  • VC 7 (ビジュアル スタジオ 2002)
  • VC 6 (ビジュアル スタジオ 6)

Daffodil は VS 2012 を IDE として正式にサポートしていませんが、機能しているようです。水仙のサイトより:

水仙は、VS 2010 もインストールされている限り、VS 2012 以降のバージョン2で正常に動作します。

2 VS 2013 および VS 2015 を使用すると、デバッグの問題が発生するようです。ここで説明されているよう
に、Visual Studio 2013 内で v60 プラットフォーム ツールセットを使用すると、デバッグ情報が一致しません。

テスト

上記をテストするために、Visual Studio 2012 で新しい C++ Win 32 コンソール プロジェクトを作成しました。次に、プロジェクトからすべてのヘッダー ファイルと cpp ファイルを削除しました。これらには VS 2012 固有のものがあるため、必要ありませんでした。次に、テストに使用できる単純な「hello world」ファイルを追加しました。

#include <iostream.h>

void main()
{
   cout << "Hello World!" << endl;   
}

プロジェクトをそのまま使用して(VS 2012をターゲットに)、ビルドしようとしましたが失敗しました。

次に、プロジェクトを右クリックしてプロパティを選択しました。ダイアログの左側で [ Configuration Properties ] を選択し、右側の [ Platform Toolset ] でv70を選択しました。v60のオプションもあることに注意してください。

テスト プロジェクトのプロパティ

次に、変更をプロジェクトに保存し、ビルドを行いました。exeのビルドに成功しました。VC 7 が使用されていることを確認するために、コンパイル中にProcess Monitorを起動しました。

コンパイル中のプロセス モニター

ご覧のとおり、コンパイラの cl.exe が VC 7 ディレクトリから呼び出されています。

最終的な考え

元の質問には、既存の VC 6 プロジェクトのコンパイルが含まれます。これに関するいくつかのメモ。

私の推測では、リターゲットを機能させるには、VS 2012 で新しい空のプロジェクトを作成し、既存のソース ファイルをすべて追加する必要があります。これを行う理由は、Visual Studio の 2 つのバージョン間でプロジェクトの形式が明らかに異なるためです。

前述したように、6 ではなく VC 7 を使用してテストしました。最後のステップは、OP が VC 6 を使用してこれらすべてを試すことだと思います。うまくいけば、すべてうまくいきます。

リンク

于 2013-05-10T16:40:34.987 に答える