Visual Studio 2008でQtの開発環境を作る

最近,諸般の事情からVisual Studio 2008という古い処理系でQtの開発環境を構築することになったのですが,幾らかの事情でつっかえたのでメモとして残しておくことにします.今回必要だったのはQT 4系だったので大雑把な手順としては以下です.

  1. Qt 4.8.4のインストールして環境変数PATHbin(例えばC:\Qt\4.8.4\bin\bin)を追加
  2. Debugging Tools for Windowsのインストール
  3. Qt Visual Studio Add-in 1.11.1のインストール
  4. QtCreator 2.7.1のインストール
  5. 環境変数WindowsSDKDirの設定

最後以外は特殊な手続きではありません.Qt本体,Add-inとQtCreatorQt の公式サイトからインストーラを取得して実行すれば十分です.Debugging Tools for WindowsWindows SDKWindows Software Development Kit (SDK) for Windows 8のサイトから取得し,インストーラからセットアップを行います.後はQtCreatorのメニューのツールオプションビルドと実行キットと進んでコンパイラやデバッガの値を適切に設定します.

さて,問題となるのは最後の部分です.前述の方法で設定を行えばQtCreatorから以下のようなHello Worldプログラムがビルドできるようになるはずですが,場合によってはエラーとなっていまいます.

#include <iostream>

int main()
{
    std::cout << "Hello World!" << std::endl;
    return 0;
}

内容は以下です.

エラー: LNK1104: ファイル 'kernel32.lib' を開くことができません。

結論から言うと,この問題は環境変数を追加することで解決できます.

WindowsSdkDir=C:\Program Files\Microsoft SDKs\Windows\v6.0A\

ただし,パスは実際にSDKをインストールしたパスとします.問題の原因はQtCreatorが処理系の特定に用いるvsvarsall32.batが適切に記述されておらず,SDKが正しく使えない状態になっている事によります.既定ではC:\Program Files\Microsoft Visual Studio 9.0\Common7\Tools\vsvarsall32.batを見ることで,上記の環境変数を設定すれば良いと分かります.