【问题标题】:Including external libraries to Qt包括 Qt 的外部库
【发布时间】:2012-03-22 07:15:08
【问题描述】:

我实际上是 Qt 的新手,如果有人能解释如何在这 3 个案例中处理外部 C++ 库以及让库与 Qt 一起使用的最简单方法是什么(如果你能指出我的话,我将不胜感激)一些我可以阅读的地方): - 源 .h 和头 .cpp 文件都可用 - 源 .h 和 DLL - 源 .h 和 .a 文件

我通常使用以下程序: 1- Cmake 生成 make 文件 2- 使用 Mingw 构建:

 Cd c:/test
 qmake test.pro
 mingw32-make

3- 将项目包含到 Qt:

 INCLUDEPATH += C:/test/build/include
 LIBS += C:\test\build\x64\mingw\lib\file.dll.a \ ...

我通常先使用 Cmake 然后使用 qmake 来构建,但有时一个不工作或经常 Qt 选项在 Cmake 中不可用。我总是仔细阅读说明。一般来说,经验丰富的程序员将如何决定如何包含库?

【问题讨论】:

  • Cmake 是专业的工具,我推荐你使用它。

标签: c++ qt cmake qmake


【解决方案1】:

您不需要同时使用cmakeqmake -- 一个就足够了。当我在Qt Creator 时,我主要使用qmake,因为它与IDE 很好地集成在一起。一般来说,你正在做的是正确的。您在 HEADERS += 下包含标头,在 SOURCES += 下包含源,在 LIBS += 下包含库以及在 INCLUDEPATH += 下包含文件的路径。

【讨论】:

  • 感谢 GradGuy,老实说,我对什么会做什么有点困惑(我仍在寻找该信息,实际上并不容易找到!)。 qmake 是否仅用于包含带有 .lib 文件的库?如果我只有 .h 和 .cpp 文件怎么办?
  • 如果你有一个库,比如libfoo.a,你需要做:LIBS += -L/path/to/lib -lfoo。另一方面,如果您只想在项目中包含几个.h.cpp 文件:HEADERS += /path/to/foo.hSOURCES += /path/to/foo.cpp。根据文件,您可能需要也可能不需要INCLUDEPATH += /path/to/header/library/files。希望有帮助。你也可能想看看这个:qt-project.org/doc/qt-4.8/qmake-variable-reference.html
  • GradGuy,你成就了我的一天,希望我能投票 :) 每当我得到 15 分时,我都会投票。再次感谢。
【解决方案2】:

您可以做一件事,而不是手动将外部库添加到 .pro 文件。

右键单击您的主项目,然后选择“添加库”选项然后它会要求

1. External library
2. Internal Library
3. System Library

然后选择 External library ,剩下的一切都由 Qt Creator 完成,即它会自动添加 .pro 文件的路径并将库链接到您的项目。

【讨论】:

  • 谢谢 Shobi,非常清楚,但是当我只有 .h 和 .cpp 文件时,你能告诉我如何包含一个库吗?是通过简单的#include“../files.h”吗?为什么需要构建一些库才能使用它们而不是简单地使用 .h 和 .cpp 文件?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-01-28
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多