0

この公式ガイドで提供されている手順を使用して、OSX Lion で Qt をコンパイルしました。次に、次の Hello World をコンパイルしてみましたgcc hello_world.cpp -o hello_world

#include <QApplication>

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

次のエラーがあります。

hello_world.cpp:1:10: fatal error: 'QApplication' file not found
#include <QApplication>
         ^
1 error generated.
4

5 に答える 5

3

追加のインクルード場所を指定するには、gcc の -I オプションを使用します。

gcc hello_world.cpp -I/path-to-qt/include -o hello_world

そのように使用する場合は、次のようにインクルードを使用する必要があります。

#include <QtGui/QApplication>

インクルードを のように短くしたい場合は#include <QApplication>、次のように複数のインクルード フォルダーを指定できます。

gcc hello_world.cpp -I/path-to-qt/include/QtCore -I/path-to-qt/include/QtGui -o hello_world

しかし、それだけではありません。また、ライブラリ ディレクトリとリンクするライブラリを指定する必要があります。これは次のように行います。

gcc hello_world.cpp -I/path-to-qt/include/QtCore -I/path-to-qt/include/QtGui -o hello_world -L/path-to-qt/lib -lQtCore -lQtGui

また、C++ を使用しているため、g++ を使用することをお勧めします。

g++ hello_world.cpp -I/path-to-qt/include/QtCore -I/path-to-qt/include/QtGui -o hello_world -L/path-to-qt/lib -lQtCore -lQtGui
于 2013-09-05T08:07:41.110 に答える
3

代わりに試す#include <QtGui/QApplication>

于 2013-09-05T08:07:36.647 に答える
2

で試してくださいg++ -I<path_to_include_directory> -L<path_to_library_dir> -lQtCore

たとえば、私の Debian では次のようにします。g++ -I/usr/local/include/Qt4 -L/usr/local/lib -lQtCore -lQtGui whatever.cpp

編集: @erelender がライブラリにあり、に依存していることを指摘してくれQApplicationQtGuiありがとうQtCore

于 2013-09-05T08:04:44.223 に答える
1

Mac のパスについては不明ですが、Linux ではクラス QApplication が次の場所 (qt4) で定義されています。

/usr/include/qt4/QtGui/qwindowdefs.h

Macに似たようなものはありますか?

コマンド ラインからビルドする場合、gcc でヘッダー ファイルをインクルードするには、次のスイッチを使用します。

-I<path to .h file>
于 2013-09-05T07:53:24.410 に答える