3

Qt5は新世代のQtであり、いくつかの変更があります。

Qt4でうまく構築できるプロジェクトがあります。Qt5-VisualStudio2010パッケージをダウンロードし、プロジェクトをQt4からQt5に移植しようとしています。問題が発生します。

すべての「include」パスは適切に修正されています。ただし、コンパイラは現在、数百の「未解決の外部シンボル」を報告します(ほとんどすべての関数呼び出し、コンパイラが.libファイルを見つけられないように聞こえます)。Qt SDKフォルダーにあるすべての.libファイルを追加しようとしましたが、役に立ちませんでした。最も基本的なクラスとメソッド:QApplication :: exec(...)も「未解決のシンボル」として報告されます。

プロジェクトファイルは、Qt5パッケージに合うように変更されました。

myproject.pro file:
QT += widgets

Qtのこの新しいリリースで同様の経験をした人はいますか?

4

3 に答える 3

3

'qt_newbie89'(http://qt-project.org/forums/viewthread/23200)から:

私は「偶然に」問題を解決しました。プロジェクトウィンドウでプロジェクトフォルダを右クリックし、qmakeを選択しました。その後、実行を選択すると、すべてのエラーが消えました。ちなみになぜそれがうまくいくのかわかりません。

'ChrisW67'(http://qt-project.org/forums/viewthread/23253/)から:

Makefileファイルは「破損」しませんでした。以前のQt4インストールに適したコマンドとパスでいっぱいで、そのままにしておきました。Qt Creatorがnmakeを実行してプロジェクトをビルドしたとき、(変更されていない)Makefileはそれを生成したproファイルよりも新しいため、nmakeはqmakeを自動的に再実行してMakefileを生成しませんでした。これは正常で正しい動作ですが、ストール中のQt5と予想されるQt4のインストールの間に不一致が生じました。

私の発言:ええ、それは本当にリンクの問題を解決します!問題は、プロジェクトがQt4で作成されたときに、「make」ファイルもプロジェクトと一緒にうまく作成されたことです。Qt4を削除し、Qt5をインストールし、Qt5によって古いプロジェクトを(新しいQt Creatorを使用して)インポートすると、「make」ファイルが破損した可能性があります。

于 2013-01-01T06:51:25.413 に答える
1

この問題を抱えているのはあなただけではないのではないかと思いました。あなたは見たことがあります:これはもうですか?それは、fixqt4headers.plと呼ばれるqt / base/binのPERLスクリプトについて話します。これは、ヘッダーを修正するように設計されています。それでも問題が解決しない場合に役立つ可能性のある別のリンクに気づきました。これを試してみてください。かなりよく考えられているようです。そして、いいえ、私はそれを試していません。私はまだ実際にはQt5にアップグレードしていません。乾杯!

于 2013-01-01T04:38:10.970 に答える
1

これは私にも起こり、私は次のことをしました。

  1. さらにリンクされたQt5Widgetsd.lib
  2. プロジェクトプロパティ'TreatWchar_t as buil in'をtrueに変更しました(C ++->言語セクション)。
于 2014-04-01T08:29:49.490 に答える