Visual C ++ 2010 Expressを使用して64ビットアプリケーションをコンパイルする方法


回答:


181

手順は次のとおりです。

  1. Windows Software Development Kitバージョン7.1をダウンロードしてインストールします。Visual C ++ 2010 Expressには64ビットコンパイラは含まれていませんが、SDKには含まれています。SDKへのリンク:http : //msdn.microsoft.com/en-us/windowsserver/bb980924.aspx
  2. プロジェクト構成を変更します。プロジェクトのプロパティに移動します。ダイアログボックスの上部に、[構成]ドロップダウンメニューがあります。[すべての構成]が選択されていることを確認してください。「Win32」と表示される「プラットフォーム」ドロップダウンもあります。最後に、右側に「Configuration Manager」ボタンがあります-それを押してください。表示されるダイアログでプロジェクトを見つけ、[プラットフォーム]ドロップダウンをクリックして[新規]を選択し、[x64]を選択します。次に、[アクティブソリューションプラットフォーム]ドロップダウンメニューを[x64]に変更します。[プロパティ]ダイアログボックスに戻ると、[プラットフォーム]ドロップダウンに「x64」と表示されているはずです。
  3. 最後に、ツールセットを変更します。プロジェクトの[Properties]メニューの[Configuration Properties]で、一般的に、プラットフォームツールセットを「v100」から「Windows7.1SDK」に変更します。

とにかく、これらの手順は私にとってうまくいきました。手順2の詳細については、以前の投稿者が述べたMicrosoftのリファレンスhttp://msdn.microsoft.com/en-us/library/9yb4317s.aspxを参照してください


2
おめでとうございます-あなたの答えはあなたに275担当者を獲得しました。素晴らしい答えをありがとう!
Nathan Osman、2011

Windows XPを使用していますが、SDKはWindows 7用です。これでも動作しますか?
0x499602D2 2013年

@ 0x499602D2:わからない。Visual C ++とSDKのバージョンが同じである場合、そうなることを願っています。やってみましたか?
マット

2
これは、ここで言及されているパッチ3と4をインストールした後にのみ機能しました:stackoverflow.com/a/8334985/429873
Dmitry Trofimov

1
@Matt:これはすべてWinXP 64ビットで動作します。プラットフォームツールセットをWin7.1SDKに変更する理由は何ですか?
IgorStack 2014

48

64ビットツールは、デフォルトではVisual C ++ Expressでは使用できません。Visual C ++ Expressで64ビットツールを有効にするには、Visual C ++ Expressに加えてWindowsソフトウェア開発キット(SDK)をインストールします。そうしないと、Visual C ++ Expressを使用して64ビットプラットフォームをターゲットにするようにプロジェクトを構成しようとすると、エラーが発生します。

方法:64ビットプラットフォームを対象とするようにVisual C ++プロジェクトを構成する

参照:http : //msdn.microsoft.com/en-us/library/9yb4317s.aspx


これはVB 2010 Expressで利用できますか?
Remus Rigo

どういうわけか、私の$(WindowsSdkDir)は正しく機能していないように見えましたが、手動で絶対パスを追加すると、うまくいきました。
rogerdpack '21 / 09/21

5
指示に従った後、私はx64プラットフォームの空白のプロパティページを取得し続けました。ここにコンパイラのアップデートをインストールする必要がありました。詳細はKB2519277をご覧ください
kipkennedy 2011


9

これに追加する重要な手順を見つけました。SDKをインストールした後、プロジェクトのプロパティに移動し、[構成プロパティ]-> [一般]-> [プラットフォームツールセット]をv100からWindows7.1SDKに変更します。これは$(WindowsSdkDir)を適切な場所に変更し、私が直面していた他のいくつかの問題も解決したようです。


5

Windows SDK v7.1がインストールされている場合、Visual Studio 2010 ProfessionalまたはVisual Studio 2010 ExpressをVisual Studio 2010 SP1にアップグレードすると、Visual C ++コンパイラーが削除されることに注意してください。

これを解決する手順については、MicrosoftサポートサイトのKB2519277を参照してください。


5
実際の質問には実際には回答しないので、コメントとして使用する方が適切です。
セキュリティハウンド

4

Windows SDKをダウンロードし、[表示]-> [プロパティ]-> [構成マネージャー]-> [アクティブソリューションプラットフォーム]-> [新規]-> [x64]に移動します。


1
実行するプログラムは何ですか?私は、「ビュー」利用可能で、任意のプログラムを見つけることができません
ステファン・ローラン

3

64ビット環境でのプログラミングは、32ビット環境とはまったく異なります。生成されたコードは、32ビットコードと64ビットコードでアセンブリ構成が完全に異なり、関数との通信プロトコルも変更されます。したがって、32ビットコンパイラを使用して64ビットコードを生成することはできません。

MicrosoftのWebサイトで、64ビットターゲットをターゲットにするが32ビット開発マシンを使用することについての記事をご覧ください。


与えられた答えは、Intelのドキュメントの
とおりです

はい、依存関係も64ビットコンパイラを使用して(再)コンパイルする必要があることは事実です。そうしないと、リンク手順が失敗します。
rogerdpack、2012

2

Jakobの言うとおり:MS VC ++ x64およびx86ランタイムとバージョン10.0.40219の再配布可能ファイルが存在する場合、Windows SDK 7.1はインストールできません。それらを削除した後、sdkのインストールは大丈夫ですが、VS C ++ SP1は再び正常にインストールできます。

敬具

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.