[解決済み] Visual Studio 2010 用の Qt をビルドする方法
質問
Visual Studio 2010 で Qt を使用するための安定したソリューションを提供する How-to を見つけるのに苦労しました。
問題点というか、なぜビルド済みバイナリが使えないのか?
Visual Studio 2008 用にビルドされたバイナリを使用すると、特殊なケースでは動作するようですが、私はそれが動作しないことを発見しました。私の場合、コンパイルはOKでしたが、次のようなランタイム エラーが発生しました。
またはVisual Studio 2010から起動した場合。
更新 : 私は、なぜある人々にとってはうまくいき、他の人々にとってはうまくいかないのかを分析したブログ記事を見つけました。一言で言えば、同じマシンに Visual Studio 2008 がインストールされているかどうかにかかっているのです。 http://blog.paulnettleship.com/2010/11/11/troubleshooting-visual-studio-2010-and-qt-4-7-integration/
最も重要なことは (私が愚かにも気づかなかったことですが)、Visual Studio 2008 がインストールされていない場合、Visual Studio 2008 でコンパイルされたライブラリおよび DLL (Qt Web ページで入手可能) を使用できないという事実です。これは、ダウンロードした Qt SDK が VC9.0 DebugCRT に依存するデバッグビルドであるためで、つまり Visual C++ 2008 Debug Runtime をインストールする必要がありますが、これは再配布可能インストーラーとして提供されていないのです。DebugCRT をインストールする唯一の方法は、Visual Studio 2008 全体をインストールすることです。
ブロック クオートどのように解決するのですか?
まず、非常に重要なこととして Visual Studio 2010 で Qt を使用する場合、Visual Studio 2008 用に作成されたビルド済みのバイナリを使用することはできません。 ソースからコンパイルする必要があります。
Qtのダウンロード
以下のように https://www.qt.io/download/
2017年の更新情報です。 には、最新の Qt 4.x ブランチ (Qt 4.8.6) にビルド済みのパッケージが2つあり、アーカイブセクションに追加されました。
- http://download.qt.io/archive/qt/4.8/4.8.6/qt-opensource-windows-x86-vs2010-4.8.6.exe
- http://download.qt.io/archive/qt/4.8/4.8.6/qt-opensource-windows-x86-vs2008-4.8.6.exe
Qt をダウンロードするには Qt ライブラリ 4.8.6 for Windows (Visual Studio 2008, 218 MB) " "をクリックしてダウンロードしてはいけません。 をクリックするのではなく "zip"。 のリンクをクリックしてください。
そのリンク先では、次のような大きな zip ファイルが得られます。 qt-everywhere-opensource-src-4.8.6.zip" . これをフォルダに解凍し、そのパスを次のように小さくしてください。 というように、何か小さな良いパスを指定します。
Visual Studioコマンドプロンプト
ソースが手に入ったので、バイナリをビルドする必要があります。これを行うには
Microsoft Visual Studio 2010\Visual Studio Tools\Visual Studio Command Prompt (2010)
リンクを開くか、タスクバーにピン留めします (これは良いアイデアです)。これは、Visual Studio 2010 のツールでビルドするためのすべての変数が設定された、特別なコマンド プロンプトです。コマンド プロンプト内で、昔ながらの DOS 方式で展開した Qt フォルダーに移動します。
E:
でドライブ文字を変更し、ディレクトリをcd Qt
でディレクトリに入り、ディレクトリの中身をdir
. ディレクトリ名の入力は、Tabキーを使うと便利です。正しいディレクトリにたどり着いたときにはdir
コマンドはこのようなものを返すはずです。
Qtの構築
さて、いよいよconfigureとbuildの時間です。最小限のQtを設定するために、私は以下のフラグを使用しています。
configure.exe
. これをコピーしてコマンドラインに貼り付けるだけです。の中を見てください。 Qt リファレンスマニュアル を参照してください。configure.exe -release -no-webkit -no-phonon -no-phonon-backend -no-script -no-scripttools -no-qt3support -no-multimedia -no-ltcg
一度
configure.exe
が終了したら(私の場合は10分でした)、ビルド作業を開始する必要があります。上記のフラグで20-30分程度かかります。開始するには、次のように入力するだけです。nmake
環境変数の設定
基本的にはこれで完了です。あとは環境変数を設定するだけです(
QTDIR
とPATH
など)で、プログラムにQtがどこにあるのかを教えてくれます。Windows 7 を使用している場合は、以下のコマンドでQTDIR
をあなたのインストールディレクトリに設定します。setx QTDIR e:\Qt
を設定するために
PATH
を設定する場合、私は強く パスエディタ . パスエディタ内add the directory of Qt\bin to your PATH
(システムパスでもユーザーパスでもかまいません)
もし、あなたが
Control Panel\System\Environment Variables
を使いたい場合は、そこでも設定することができます。Qt Visual Studioアドイン
ログオフ、ログオン、または再起動後に、すべての Qt デモアプリケーションが正しく起動するはずです。 binqtdemo.exe ). Qt のダウンロードページから Visual Studio Add-in (qt-vs-addin-1.1.9.exe) をダウンロードしてインストールすれば、完璧に動作するはずです。
付録A: 公式インストラクション。
Qtウェブサイトの公式wikiに、以下のページがあります。 Qt 4.8 Windows 用の Qt のインストール とありますが、重要な情報が欠けていることがわかりました。
参考文献
<ブロッククオートQt DevNet フォーラム
最小限の Qt ビルドのための推奨フラグ
Visual C++ 2010 と Qt 4.5 のビルド
Qt を静的にコンパイルする方法
Qt 4.8: Qt のオプションを設定する
でPATH環境変数を編集します。
苦痛のないWindows - op111.net
関連
-
[解決済み】Visual Studio 2015で「非標準の構文; '&'を使用してメンバーへのポインターを作成します」エラー
-
[解決済み】C++でランダムな2倍数を生成する
-
[解決済み】エラー:free(): 次のサイズが無効です(fast)。
-
[解決済み】Eclipse IDEでC++エラー「nullptrはこのスコープで宣言されていません」が発生する件
-
[解決済み] Visual Studioのデバッグ/ロードが非常に遅い
-
[解決済み] 文字列の単語を反復処理するにはどうすればよいですか?
-
[解決済み] C#の正しいバージョン番号を教えてください。
-
[解決済み] デバッグビルドのみVisual Studioのポストビルドイベントを実行する方法
-
[解決済み] キーファイル 'blah.pfx' をインポートできない - エラー 'The keyfile may be password protected'.
-
[解決済み】Visual Studioでコードを自動フォーマットする方法とは?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】クラステンプレートの引数リストがない
-
[解決済み] エラーが発生する。ISO C++は型を持たない宣言を禁じています。
-
[解決済み] error: 'if' の前に unqualified-id を期待した。
-
[解決済み】'cout'は型名ではない
-
[解決済み】システムが指定されたファイルを見つけられませんでした。
-
[解決済み】1つ以上の多重定義されたシンボルが見つかる
-
[解決済み】C++ - 適切なデフォルトコンストラクタがない [重複]。
-
[解決済み] to_string は std のメンバーではない、と g++ が言っている (mingw)
-
[解決済み】VC++の致命的なエラーLNK1168:書き込みのためにfilename.exeを開くことができません。
-
[解決済み] NMAKE : 致命的なエラー U1077: リターンコード '0xc0000135' です。