1

Macで簡単なQt 5プログラムを構築しようとしています。しかし、私は失敗しました。

コードは非常に単純です。

#include <QtWidgets/QApplication>

int main(int argc, char *argv[])
{
    QApplication app (argc, argv);
    return app.exec();
}

私が使用した:

clang++ -I ~/Qt5.0.0/5.0.0/clang_64/include -L/Users/crazylion/Qt5.0.0/5.0.0/clang_64/lib    test.cpp

次に、このエラーが発生しました:

Undefined symbols for architecture x86_64:
  "QApplication::exec()", referenced from:
      _main in test-jPGORy.o
  "QApplication::QApplication(int&, char**, int)", referenced from:
      _main in test-jPGORy.o
  "QApplication::~QApplication()", referenced from:
      _main in test-jPGORy.o
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)

足りないものはありますか?

4

3 に答える 3

3

まず、Qt プロジェクトを手動でコンパイルおよびリンクしないでください。qmake とプロジェクト ファイルを使用します。

qmake -projectソース ディレクトリで実行して、基本的なプロジェクト ファイルを生成します。

プロジェクト ファイルを編集し、次の行を追加します。QT += widgets

実行qmakeして、makefile を生成します。

実行makeしてプログラムをビルドします。

第二に、あなたは簡単に#include <QApplication>

于 2013-02-05T15:07:39.973 に答える
1

qmakeを優先してclang++を使用する場合は、(指定した)ライブラリディレクトリとともに、リンク先のライブラリを指定する必要があります。

clang++ -I ~/Qt5.0.0/5.0.0/clang_64/include -L/Users/crazylion/Qt5.0.0/5.0.0/clang_64/lib  -lQtCore -lQtGui  test.cpp
于 2013-02-05T15:39:45.280 に答える
0

私は同じ問題を抱えていましたが、リリースに何らかのバグがあり、(qtクリエーターを使用した)フレッシュインストールから、(通常のqt5ではなく)あいまいなqtライブラリがなかったためにエラーが発生したようです。モジュールですが、開発中のある種のライブラリ)なので、qtの問題である可能性があると思う傾向があります

それは私がよりよく理解するためにいくつかの質問があると言った:

-IDEを使用していますか?

-それを使用している場合は?

-地震の*.proにすべてのモジュールを含めていますか?

-4.8バージョンを使用しましたか?それでこれらの問題が発生しましたか?

PS特に必要がない場合は、5.0がリリースされたばかりなので、しばらくの間バージョン4.8を使用することをお勧めします(問題なく実行しています)。

于 2013-01-24T12:24:49.620 に答える