gpt4 book ai didi

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

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:46:47 27 4
gpt4 key购买 nike

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

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com