c++ - 如何将 Qt 库连接到标准 C++ 项目?

标签 c++ linux qt gcc

我在 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

我的问题是如何在其中包含 header 和库。我想包括/usr/include/qt5/下面的所有头文件和/usr/lib 中的所有 Qt 库。

换句话说..每个标志后面应该有什么字符串: -I, -include, -l, -L ?

提前致谢。希望这个问题是有道理的。

最佳答案

编译 Qt 项目需要运行 preprocessor moc翻译所有 Qt 信号/插槽。此预处理器可以通过 qmakecmake 运行。自 Qt no longer maintains a plugin for Eclipse ,如果你真的要使用Eclipse,你需要配置Eclipse使用cmake,然后配置cmake调用moc。 MalaKa 已经为您提供了 link about some documentation from Qt .

但是,如果您要使用 Qt 进行开发,我强烈建议您放弃 Eclipse,转而使用 Qt Creator ,这是一个很棒的 IDE,并且具有调用 qmake 的内置机制。

关于c++ - 如何将 Qt 库连接到标准 C++ 项目?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36198489/

相关文章:

c++ - FindFirstFile/FindNextFile 不返回文件夹中的所有文件

c++ - 为什么 std::string 没有 emplace 或 emplace_back?

linux - 从另一个脚本调用脚本时想要摆脱 std out

python - 在/usr/bin/python2.7上使用setcap不给子任务提供权限

qt - 如何在Qt应用程序中启动文件浏览器?

c++ - 在 Google 的 CTemplate 中循环

c++ - 语法错误 : missing ';' before '{'

linux - 如何提高KVM VPS的网络性能

c++ - QTcpSocket接收传输

c++ - Qt4 到 Qt5 链接错误