2

Qt を 4.8.3 に更新しました。これは、古いバージョンからビルドされたプログラムが新しいフレームワークと互換性がないためです。

だから私はアップグレードする必要があります。

このプロセスはイライラし、時間がかかりました。たくさんの問題が出てきました。

この URL から Qt をダウンロードします: http://qt-project.org/downloads

最初に、MinGW をインストールしました (私は MSVC のファンではありません)。

MinGWの最新(4.6だと思います)バージョンと注文バージョン(4.4)を試しました。ただし、MinGW をインストールして Qt 4.8.3 をインストールしようとすると、プロセス中に次のメッセージが表示されます。

There is a problem with your MinGW installation:
The installer could not find a valid C:\MinGW\include\w32api.h (Only versions with W32API 3.13 are supported)

Do you still want to continue? (Your installation may not work)

4.6 バージョンにはこの w32api.h ファイルがありますが、何が起こっているのかわかりません。そして、この head ファイルで MinGW 4.4 を見つけるのに苦労しました。

この警告を無視して、Qt と Qt Creator のインストールを続行することにしました。その後、現在のプロジェクトを開いて設定し(なぜ設定が複雑になるのか...)、ビルドしてみました。

次に、使用した一部の外部ライブラリで例外処理が必要なため、次のメッセージが表示されます。

例外処理が無効になっています。有効にするには -fexceptions を使用してください

そして、それを有効にする方法がわかりません。QMAKE_CXXFLAGS に-fexceptionsフラグを追加しようとしましたが、機能しません。

ちなみにQtのVC版もやってみたのですが、以前MinGWを使っていたのとVCコンパイラがかなり違い、VC版だとVCコンパイラでコンパイルできるようになるまでかなり時間がかかります。

Qt 4.8.3 を Windows にインストールする方法を知っている人はいますか? 私のプロジェクトは以前は正常に動作していましたが、今は正常にコンパイルしたいだけです........

これらだけが問題ではありません。Mac マシンの Qt も更新しました。Unix ベースなので、コンパイラーが動作しやすくなりました。

しかし、私は自分のプロジェクトで QtWebkit lib を使用しましたが、明らかに、彼らはこの lib を変更し、注文バージョンと互換性がありません。

プロジェクトを Mac でコンパイルできますが、実行するたびに次のメッセージが表示され、プログラムが停止します。

dyld: シンボルが見つかりません: _OBJC_CLASS_$_CALayerHost 参照元: /Library/Frameworks/QtWebKit.framework/Versions/4/QtWebKit 予期される場所: /System/Library/Frameworks/QuartzCore.framework/Versions/A/QuartzCore

プログラムは予期せず終了しました。

この QtWebKit の問題を解決する方法を知っている人はいますか? 本当に感謝します。

Qt が nokia の下にある場合、Qt SDK は非常に簡単にインストールして使用できることを思い出しました。

デジアに買ってからの変更は本当に嫌だ…………

4

2 に答える 2

2

最初の 2 つの問題の解決策を見つけました。

最初の問題については、私が説明したように、Nokia Qt が提供する MinGW をダウンロードして ください。 ftp.qt.nokia.com/misc/MinGW-gcc440_1.zip [ftp.qt.nokia.com]唯一の作品です。

2 つ目の問題については、プロジェクト ファイルに次の configure を追加します。

CONFIG += 例外

現在、QWebKit の問題は未解決の 1 つだけです。

于 2012-11-16T02:15:16.043 に答える
1

MinGW のインクルード ディレクトリに 2 つの「i」が含まれていることはすべて関連していますか、それとも SO に投稿されたときの誤植でしたか? 見る:

The installer could not find a valid C:\MinGW\iinclude\w32api.h
于 2012-11-15T00:58:59.533 に答える