Seaside Laboratory

Post

Visual Studio 2010 Express をインストール

VC++ 2010 はファイルサイズがやたらと大きかったり、登録キーが必要なこともあってあまり気が進まなかったが、使いたくなった時に登録キー発行フォームがなくなっていたら困るので、さっさと 2008 から移行することにした。

Visual C++ 2010 Express のインストール

Windows SDK のインストールまわりで不具合があるようなので、「入手可能な Windows SDK について」に書かれているインストール順を確認しておくのがおすすめ。

推奨しているインストールの順番は以下のとおりです。
詳しい説明は、上記のダウンロード案内のページで入手できる readme.htm (英語版) に記載されています。

1. Visual Studio 2010
2. Windows SDK 7.1
3. Visual Studio 2010 SP1
4. Visual C++ 2010 SP1 Compiler Update for the Windows SDK 7.1

VS2010ExpressJPN.iso の中にある Setup.hta を実行するとインストーラーが起動する。インストールの流れは 2008 と大差なく、前回同様にゴミ (Silverlight 等) を便乗インストールしようとするのでチェックを外しておく。

2008 の時と同様に SQL Server 関連はいらないだろうと思い、

をアンインストールしたら「C++ プロジェクトでは、IntelliSense と参照情報は利用できません。」と怒られてしまった。

Inside IntelliSense

まず、VC9 までは、NCB ファイルを使っている。
これはかなり古くからあるもので、色々と問題も多い。
ファイルの内容はすべてメモリに入れておかなければならないし。
変更があるたびに、大部分を参照しなければならない。

そこで、VC10 からは、SQL Server Compact を使うことにしたらしい。
これは元々、Windows CE 向けに作られたもので、ひとつのファイルを使用し、プロセスに組み込んで使う。

ということなので IntelliSense を使うなら SQL Server Compact は残す必要あり。

サービスパックのインストール

VS2010SP1dvd1.iso の中にある Setup.exe を実行。2008 とは違いサービスパックは別途入手する必要がある。

「指定ダウンロード サイズ」という表示が出て少し驚くが、おそらくオンライン版とプログラムを共有しているのだろう。当然オフライン版はダウンロード不要なのでサイズの表示が 0 MB になる。

登録キーの取得

Visual C++ を起動し、メニューのヘルプから登録キー取得サイトにジャンプする。Microsoft アカウントが必要なので、MSN Messenger を使う時に取得した Hotmail アカウントでログインした。

キーを入手するにはアンケートに答えなければいけないが、何も入力せず「次へ」ボタンを押して、必須と言われた部分は「不明」にしておけば問題なし。

入手したキーの先頭 5 文字で検索してみると、まったく同じキーが記載されているサイトが見つかったので、ユーザー個別のキーが発行されているわけではなく、共通のキーが使われている模様。

ライブラリのディレクトリ設定

Visual Studio 上にある「VC++ ディレクトリ」は全体の設定として反映されないので、ユーザーディレクトリにある以下の設定ファイルを直接書き換える。

%LOCALAPPDATA%\Microsoft\MSBuild\v4.0\Microsoft.Cpp.Win32.user.props

スコープ解決演算子 (::) の右側にあるトークンは使えません。

STL 版の std::max とマクロ版の max の定義が衝突してエラーになった。Windows 環境で STL を使っているプログラマーならおなじみのエラーではあるが、ソースコードをまったくいじっていないのにエラーが出るようになったので、インクルードされる順番かなにかが変わったのだろうか。

コンパイル時に指定する定数に NOMINMAX を追加すればエラーは出なくなる。プリプロセッサの中でも、inline に代替可能な関数マクロは早く死滅してほしい。