2011年09月30日

Visual C++ 2010でQt使おうとして挫折した話

此処で出てくる"Visual C++ 2010"は正確には"Visual C++ 2010 Express SP1"の事ですはい。

以下やった事箇条書き。

  1. Qt のダウンロード ? Qt - A cross-platform application and UI frameworkからQt SDK version 1.1.3のオンラインインストーラーをダウンロード。
  2. インストーラー起動。デフォルト設定でインストールを行おうとするも、あまりのダウンロード所要時間に音を上げ中止。
  3. 再びインストーラー起動。適当に必要不必要そうなモジュールのチェックを付けたり外したり。この時、VC++のサポート対象が2008だと知って少々不安になるも、インストール成功。
  4. スタートメニューからQt 4.7.4 for Desktop (MSVC 2008)を起動。VC++2010のvcvarsall.batを起動。
  5. Qt 4.7: Getting Started Programming with Qt のHello Notepadサンプルと同じコードを入力し、qmake -project & qmake & nmake。成功。

実行すると……

D:\Documents and Settings\AmaiSaeta\qttest.vc>debug\qttest.exe
指定されたプログラムは実行できません。

アルェー?
まぁVC++2010でVC++2008用のバイナリを使ったわけだから、変な事になるのも致し方なし……

仕方無いので、Qtをソースからビルド。

  1. Qt のダウンロード ? Qt - A cross-platform application and UI frameworkからqt-everywhere-opensource-src-4.7.4.tar.gzをダウンロード、適当な場所に展開。
  2. Qt 4.6: General Qt Requirements及びQt 4.6: Qt for Windows Requirementsに有る通り、DirectX SDKとWindows Platform SDK、OpenSSLを導入する。
    今回はそれぞれ、現時点で最新と思われる以下の物を採用。
  3. Qt 4.7: Installing Qt for Windowsを参考にQtをbuild。configureのオプションはconfigure -helpを見つつ適当に決めた。
    "%VS100COMNTOOLS%\..\..\VC\vcvarsall.bat"
    PATH C:\OpenSSL-Win32\bin\;%PATH%
    SET INCLUDE=C:\OpenSSL-Win32\include;%INCLUDE%
    SET LIB=C:\OpenSSL-Win32\lib;%LIB%
    PATH (Qtソース展開先)\bin;%PATH%
    CD (Qtソース展開先)
    configure -debug-and-release -opensource -shared -static -no-qt3support -platform win32-msvc2010 
    nmake
    当方の環境で2時間半というウンザリするような時間かけてbuild完了。
  4. バイナリ版導入と同じくQt 4.7: Getting Started Programming with QtのHello Notepadを作ってみる。今度は正常に動作。
  5. 続いてAdding a Quit Buttonを作ってみる。buildは成功するが、Quitボタンを押すと……
    [Qtサンプルプログラムを実行すると表示されたAssertion Failedダイアログ]

アルェー?
assertion failedしたf:\dd\vctools\ctr_bld\self_x86\crt\dbgdel.cppというファイルはこちらの環境には存在しない。というかf:ドライブなんて無い。という事は、Qtのbuildで使った(C++標準含む)ライブラリの何れかで発生していると思われるが、それを調査する気力は既に残っていないのであった……

posted by 天井冴太 at 18:54 | Comment(0) | TrackBack(0) | Tool | このブログの読者になる | 更新情報をチェックする
投票お願いします 人気blogランキング - 投票する
この記事へのコメント
コメントを書く
お名前: [必須入力]

メールアドレス:

ホームページアドレス:

コメント: [必須入力]

コメント欄右下をドラッグ&ドロップすると、コメント欄の拡大縮小が出来ます。
認証コード: [必須入力]


※画像の中の文字を半角で入力してください。

この記事へのトラックバック
×

この広告は180日以上新しい記事の投稿がないブログに表示されております。