QtCreator的中如何使用第三方依赖库

      之前项目里使用其它的第三方库都是leader或同事给配置好的,从没操心这回事,真是惭愧,哭。今天同学给我发来一个工程,需用使用到Qt库和Qwt库,用QtCreator打开编译,提示找不到Qwt库里的头文件,于是试着配置一下,居然折腾了许久还没运行起来。后来看了一下Qt的qmake文档,才得以搞定。qmake 的说明文档里有关于声明使用其它库的说明:

Declaring Other Libraries

If you are using other libraries in your project in addition to those supplied with Qt, you need to specify them in your project file.

The paths that qmake searches for libraries and the specific libraries to link against can be added to the list of values in the LIBS variable. The paths to the libraries themselves can be given, or the familiar Unix-style notation for specifying libraries and paths can be used if preferred.

For example, the following lines show how a library can be specified:

 LIBS += -L/usr/local/lib -lmath

The paths containing header files can also be specified in a similar way using the INCLUDEPATH variable.

For example, it is possible to add several paths to be searched for header files:

 INCLUDEPATH = c:/msdev/include d:/stl/include

    如果电脑上已经安装了Qt 和Qwt的环境,那么对于一个需要使用Qwt的程序来说,只需要在其工程文件中添加如下配置:

(假设你的Qwt安装目录为 C:/Qwt-6.0.1 )

1)在 LIBS 变量后面添加链接这个库的路径(例如-LC:/Qwt-6.0.1/lib)和名称(例如 -lqwt, 也可以用 qtAddLibrary(qwt) 添加动态库

2)在INCLUDEPATH variable.后面添加这个引用该库所需要的头文件(例如 C:/Qwt-6.0.1/include

 

#include( $${PWD}/../examples.pri )
#include( ../3rdparty/qwt/qwtplot.pri )
#include( C:/Qwt-6.0.1/features/qwtconfig.pri )
INCLUDEPATH += C:/Qwt-6.0.1/include #必须有
#DEPENDPATH  += C:/Qwt-6.0.1/lib
#LIBS += -L/usr/local/lib -lmath
LIBS      += -LC:/Qwt-6.0.1/lib -lqwt #必须有 否则报错 :-1: error: cannot find -lqwt
#qtAddLibrary(qwt) #必须有

#CONFIG += qwt




 

### 如何在 Qt Creator 中配置和使用第三方库 #### 1. 准备工作 为了成功集成第三方库,在项目中需要准备相应的库文件(`.lib` 或 `.a`)、动态链接库(`.dll` 或 `.so`),以及对应的头文件(通常位于 `include` 文件夹内)。这些资源应当放置于易于管理的位置,比如项目的子目录。 #### 2. 修改 .pro 文件以包含第三方库 编辑项目的 `.pro` 文件来指定外部库的具体位置及其依赖关系。对于静态库而言,需通过 `LIBS` 变量指明;而对于共享库,则除了设置 `LIBS` 外还需考虑运行时加载路径。此外,应利用 `INCLUDEPATH` 来告知编译器去哪里寻找所需的头文件[^2]。 ```qmake # 假设我们正在添加 OpenCV 库为例 win32 { INCLUDEPATH += $$PWD/opencv/include \ $$PWD/other_headers LIBS += -L$$PWD/lib \ -lopencv_world310 } ``` 注意:上述例子适用于 Windows 平台下的 MinGW 编译环境。针对不同操作系统或编译工具链可能需要调整命令参数。 #### 3. 将 DLL 放入可执行程序所在目录或其他有效路径 如果使用第三方库提供了动态链接版本(即 `.dll` 文件),那么必须确保应用程序启动时能够找到它们。最简单的方式就是把这些文件复制到构建输出的目标文件夹里,或者是系统的 PATH 环境变量所覆盖的地方[^3]。 #### 4. 测试配置是否生效 完成以上步骤之后,尝试重新构建整个工程项目,并编写简单的测试代码验证能否正常使用新加入的功能模块。例如: ```cpp #include <QCoreApplication> // 加载必要的OpenCV头文件 #include "opencv2/core.hpp" using namespace cv; int main(int argc, char *argv[]) { QCoreApplication a(argc, argv); Mat img = imread("example.jpg"); if(img.empty()){ qDebug() << "Failed to load image!"; return -1; } // 进一步操作... return a.exec(); } ```
评论 2
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值