【发布时间】:2016-03-24 10:54:40
【问题描述】:
我在 Linux Mint 上工作,并在 Eclipse IDE 中创建了标准 C++ 项目。我想使用 Qt 库编写一些 GUI 应用程序,但我不太清楚如何附加该库。
对于 GCC 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/include/qt5 中还有多个其他目录,每个目录都有一些头文件,例如:
/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 ?
提前致谢。希望这个问题有意义。
【问题讨论】:
-
您可以配置 Eclipse 以与 cmake 一起使用。然后您可以将 Qt 与 cmake 一起使用。这不像使用 qmake 那样容易,但它确实有效。甚至有一些来自 Qt 的 documentation 关于它。