Qt 4.5をVisual Studio 2008と組み合わせる

Qtがバージョン4.5からLGPLライセンスで使用することができるようになりました。これにより、プロプライエタリなソフトでもQtを使用して開発が出来るようになります。
本 ドキュメントは、Qt 4.5のオープンソース版をVisual Studio 2008でビルドできるようにする設定方法です。Qt 4.5のオープンソース版はそのままでは、MinGWを使うようになっており、Visual Studioでビルドすることはできません。これはGUIだけではなく、コマンドラインでnmakeを使ってもビルドできないということです。 Visual Studioでビルドする必要が有る時(依存するライブラリの関係など)は商用ライセンスを購入するのがスマートなのかもしれませんが、オープンソース版 を使いたいという場合には本ドキュメントのようにすることで使用できるようになります。
なお、本ドキュメントは下記のブログを参考にさせていただきました。
■日々激烈熾烈妄想記: Visual Studio 2008 Express で Qt 4.5 をビルドする

http://caprico99.blogspot.com/2009/03/visual-studio-2008-express-qt-45.html

ライブラリの準備


次の手順でVisual Studioで全ライブラリをビルドします。

  1. 環境変数のPATHに「C:¥Qt¥2009.02¥qt¥bin」を登録する。
  2. Visual Studio 2008 コマンドプロンプトを起動する
  3. 「cd C:¥Qt¥2009.03¥qt」としてディレクトリを移動する
  4. 「set QMAKESPEC=win32-msvc2008」として、Visual Studio 2008を使用してビルドすることを設定
  5. 「configure -debug-and-release -D _CRT_SECURE_NO_WARNINGS」としてMakefile作成
  6. 「nmake」としてビルド

私の環境で、合計3時間弱かかりました。

環境変数

次の環境変数を設定します。
[TABLE=3]

確認

QtCreatorで何かビルドしても、「Compiler Output」でログを確認します。nmakeが使われていて、-specパラメータで「win32-msvc2008」が出ていれば、Visual Studioがビルドに使われています。

Visual Studio Add-In

Visual Studio用のAdd-Inもダウンロードできます。Add-InをインストールするとVisual Studio上でQt用のプロジェクトファイルを作成できたり、qmakeを呼び出したりすることが出来ます。
インストールを行うと、「Qt」メニューがVisual Studioに追加されます。次のようにして設定を行います。

  1. 「Qt」メニューから「Qt Options」を選択する
  2. 「Qt Versions」タブをクリックする
  3. 「Add」ボタンをクリックする
  4. 「PATH」の選択ボタンをクリックし、「C:¥Qt¥2009.02¥qt」を選択する

なお、ライブラリの準備に書いた、Visual Studioでのライブラリのビルドを行っていないと、私の環境では上記のパスを選択できませんでした。

参考ページと関連ページ

日々激烈熾烈妄想記: Visual Studio 2008 Express で Qt 4.5 をビルドする
Nokia : Qt – A cross-platform application and UI framework

著書紹介

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

Akira Hayashi (林 晃)のアバター Akira Hayashi (林 晃) Representative(代表), Software Engineer(ソフトウェアエンジニア)

アールケー開発代表。Appleプラットフォーム向けの開発を専門としているソフトウェアエンジニア。ソフトウェアの受託開発、技術書執筆、技術指導・セミナー講師。note, Medium, LinkedIn
-
Representative of RK Kaihatsu. Software Engineer Specializing in Development for the Apple Platform. Specializing in contract software development, technical writing, and serving as a tech workshop lecturer. note, Medium, LinkedIn

目次