2016-03-24 15 views
0

私はLinux Mintで動作し、Eclipse IDEで標準のC++プロジェクトを作成しました。 Qtライブラリを使ってGUIアプリケーションを作成したいのですが、ライブラリをどのようにアタッチするか分かりません。 GCC C++コンパイラのQtライブラリを標準C++プロジェクトに接続する方法は?

のフラグがあります -I(ヘッダファイルとパスが含まれるように、私が正しく理解していれば-includeフラグで指定されたヘッダファイルを検索するときに、コンパイラはこれらのディレクトリになります) -include(実際のヘッダファイル)GCC C++リンカーの

: -l(ライブラリ、例えば* .soというライブラリ) -L(ライブラリ検索パス、-lフラグで指定されたライブラリを検索するとき、リンカはこれらのディレクトリになります)

これは間違いありませんか?

今...

/usr/lib $ ls | grep qt 
The output is: 
libindicate-qt.so.1 
libindicate-qt.so.1.4.1 
libntrack-qt4.so.1 
libntrack-qt4.so.1.0.1 
libpolkit-qt-agent-1.so.1 
libpolkit-qt-agent-1.so.1.103.0 
libpolkit-qt-core-1.so.1 
libpolkit-qt-core-1.so.1.103.0 
libpolkit-qt-gui-1.so.1 
libpolkit-qt-gui-1.so.1.103.0 
libsignon-qt5.so.1 
libsignon-qt5.so.1.0 
libsignon-qt5.so.1.0.0 
libsignon-qt.so.1 
libsignon-qt.so.1.0 
libsignon-qt.so.1.0.0 
libsvnqt.so.7 
libsvnqt.so.7.0.1 

とusrディレクトリ/中/含める/ qt5他の複数のディレクトリが存在し、ヘッダファイル、たとえば、いくつかの数とそれぞれ1:

/usr/include/qt5/QtConcurrent $ ls 
QtConcurrent    qtconcurrentfilter.h   QtConcurrentMap    QtConcurrentRun     QtConcurrentVersion 
qtconcurrentcompilertest.h qtconcurrentfilterkernel.h  qtconcurrentmap.h   qtconcurrentrunbase.h    qtconcurrentversion.h 
QtConcurrentDepends   qtconcurrentfunctionwrappers.h qtconcurrentmapkernel.h  qtconcurrentrun.h 
qtconcurrentexception.h  qtconcurrent_global.h   qtconcurrentmedian.h  qtconcurrentstoredfunctioncall.h 
QtConcurrentFilter   qtconcurrentiteratekernel.h  qtconcurrentreducekernel.h qtconcurrentthreadengine.h 

私の質問そこにヘッダとライブラリを含める方法です。/usr/include/qt5 /の下にあるすべてのヘッダーと、/ usr/libのすべてのQtライブラリを含めたいと思います。

つまり、各フラグの後にはどの文字列を含める必要がありますか: -I、-include、-l、-L?

ありがとうございます。この質問が意味をなさないことを願ってください。

+0

Eclipseをcmakeで使用するように設定できます。そして、あなたはcmakeでQtを使うことができます。これはqmakeを使うほど簡単ではありませんが、うまくいきます。 Qtの[documentation](http://doc.qt.io/qt-5/cmake-manual.html)もあります。 – MalaKa

答えて

1

Qtプロジェクトをコンパイルするには、すべてのQt信号/スロットを変換するためにpreprocessor mocを実行する必要があります。このプリプロセッサは、qmakeまたはcmakeのいずれかで実行できます。 Qt no longer maintains a plugin for Eclipse以降、Eclipseを本当に使いたい場合は、cmakeを使用するようにEclipseを設定し、makeを呼び出すためにcmakeを設定する必要があります。 MalaKaはすでにlink about some documentation from Qtを提供しています。

Qtを使用して開発する場合は、Eclipseを削除してQt Creatorにすることを強く推奨します。これはすばらしいIDEであり、qmakeを呼び出すための組み込みのメカニズムを備えています。

+0

Qtコードを作成するためにqmakeがまったく必要*ではありません。 CMakeのような他のツールがあります。これはQtの前処理ステップをうまく処理できます。 – rubenvb

+0

私は 'moc'を意味しました。私は答えを洗練した。指摘していただきありがとうございます。 – Claudio

関連する問題