Hatena::ブログ(Diary)

torutkの日記 RSSフィード

2010-09-27 Visual C++ 2010 Expressで64bitコンパイル

[][]Visual C++ 2010 Expressで64bitコンパイル

Visual C++ 2010 Expressは32bitコンパイルのみ提供されていますが、別途Windows SDKを追加することで、64bitコンパイルができるようになります。

Windows 7 Professional 64bitにVisual C++ 2010 Expressをインストールした状態

この時点で、新規プロジェクト(Win32コンソール)を作成し、「構成マネージャ」を開き、[アクティブソリューションプラットフォーム]欄(デフォルトで[Win32]が表示されている)をドロップダウンしても、他には<新規作成...>および<編集...>だけが選択可能です。64bitコンパイルに対応していると、x64が選択できるようになるはずです。

Windows SDKのインストール

「Microsoft Windows SDK for Windows 7 ant .NET Framework4」を入手します。

上記URLから、x64 ISOファイルである GRMSDKX_EN_DVD.iso をダウンロードし、インストールします。(CD-Rに焼くか仮想ドライブソフトを使う)

Visual C++ 2010 Expressの設定

「方法:Visual C++プロジェクトを64ビットプラットフォーム用に設定する」の手順(以下URL)に沿って設定します。

なお、Expressの場合、これだけではリンク時にエラーになってしまいます。この問題については、以下URLに解決方法がありました。

Expressから、先ほどインストールしたWindows SDK(Ver.7.1)を参照するように、次の設定を行います。

  • プロジェクトのプロパティで構成プロパティー全般を選択し、プラットフォームツールセットをv100からWindows7.1SDKに変更

これらの設定は、ソリューション(プロジェクト)ごとに行う必要があります。

Visual C++ 2010 ServicePack1の適用(2012/03/06追記)

からリンクをたどって、Visual Studio 2010SP1を入手します。

Visual Studio 2010 ServicePack 1を適用すると、Express版の場合64bitコンパイラが削除されてしまいます。Ultimate/Premium版などでは問題ないようですが、Express/Professional版では発生する問題のようです。

そこで、以下のパッチをダウンロードして適用します。

また、Visual Studio SP1を適用するより先にWindows SDKをインストールしておかないと、問題が発生するようです。

「Visual Studio 2010 SP1 リリース ノート」より抜粋

Visual Studio 2010 SP1 をインストールした後で Windows SDK 7.1 がインストール、修復、または変更されると、Visual C++ コンパイラのインストールが失敗する


バイナリが64bitか判断する方法(2010/10/23追記)

に詳しい解説があるように、Visual Studio(Express版にもあり)付属のコマンドdumpbinを使うと確認できます。dumpbinを/headersオプション付きで実行し、FILE HEADER VALUESの最初の項目(machine)がx86かx64かで区別します。

通りすがり通りすがり 2012/03/04 22:02 突然失礼します。
私の場合は、この手順では不十分だったらしく、
http://feather.cocolog-nifty.com/weblog/2011/07/visual-studio-2.html
ここにある、3,4の手順を追加で実行したところ、うまくコンパイルできました。
何が原因だったかはわかりませんが、同じ問題を抱えた方に参考になればと思い、検索で上位にヒットするこのブログにコメントさせて頂きました。

torutktorutk 2012/03/06 03:10 コメントありがとうございます。Visual Studio 2010 SP1適用による64bitコンパイラ削除問題の手順を追記しました。

   2014/03/23 02:11 失礼します。WindowsSDKをインストールする際、ウイルスバスターを利用している場合終了させていないとインストールが失敗するようです。以前はそんなことなかった気がするのですが今回改めてインストールし直したらそうなってしまいました。ご参考になりましたら幸いです。

torutktorutk 2014/03/23 12:33 情報提供ありがとうございます。

通りすがり2通りすがり2 2014/04/23 11:05 上記手順で、Visual C++ 2010 Expressで64bitコンパイルが可能になりましたが、コンパイル時のメッセージが英語です。日本語で表示させる方法はあるでしょうか?

スパム対策のためのダミーです。もし見えても何も入力しないでください
ゲスト


画像認証