Qt creator 使用pkgconfig

本文详细介绍如何正确配置OpenCV环境变量及库路径,确保系统能够顺利识别并使用已安装的OpenCV库。步骤包括编辑配置文件、添加库路径、设置环境变量等。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

参考链接

http://beaufour.dk/blog/2008/02/using-pkgconfig.html



CONFIG += link_pkgconfig

PKGCONFIG +=opencv

//以上两行可以直接使用 pkgconfig/opencv.pc 文件

安装过opencv 后并不能立即使用,编辑:

/etc/ld.so.conf.d/ 

添加文件 opencv.conf

内容: /opt/opencv/lib //内容是 opencv 的安装路径 视情况而定




接下来要给系统加入opencv库的环境变量(也就是库存放的路径,注意不是解压路径)
     用vim打开/etc/ld.so.conf,注意要用sudo打开获得权限,不然无法修改,如:sudo vim /etc/ld.so.conf,在文件中加上一行 /usr/loacal/lib,/user/loacal是opencv安装路径 就是makefile中指定的安装路径
     再运行sudo ldconfig,
     修改bash.bashrc文件,sudo gedit /etc/bash.bashrc
     在文件末尾加入:
     PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/lib/pkgconfig
     export PKG_CONFIG_PATH


然后source /etc/bash.bashrc


### 如何在 Qt Creator 中配置 RPATH #### 设置项目属性以修改 RPATH 为了使 Linux 上的 Qt 应用程序优先使用可执行文件目录中的动态链接库而不是系统默认路径下的库,可以通过调整项目的 `.pro` 文件来实现这一需求[^2]。 在 `.pro` 文件中加入如下内容: ```qmake linux { QMAKE_RPATHDIR += $$OUT_PWD/../../lib } ``` 这段代码指定了相对路径 `$$OUT_PWD/../../lib` 作为额外的查找路径。这里假设所需的共享库位于相对于编译输出目录两个层次以上的 `lib` 文件夹内;实际应用时应根据具体情况调整此路径。 对于更复杂的场景,比如希望应用程序先尝试加载本地版本的 Qt 库再回退至全局安装版,则可以利用 `-rpath-link` 参数指定多个位置: ```qmake unix:!macx: CONFIG += link_pkgconfig unix:!macx: PKGCONFIG += qt5widgets QMAKE_LFLAGS += "-Wl,-rpath,./qtlibs" ``` 上述例子展示了如何通过 pkg-config 自动获取依赖关系并附加自定义 rpath 到最终二进制文件上。注意这里的 `"./qtlibs"` 是一个示例性的相对路径,请依据实际情况更改。 另外一种方法是在构建完成后手动编辑 ELF 可执行文件或共享对象内的运行时搜索路径。这通常不推荐用于生产环境中,但在某些特殊情况下可能有用: ```bash chrpath -r '$ORIGIN/../lib' your_executable_file ``` 以上命令会将 `$ORIGIN/../lib` 添加为新的 RPATH 值给定名为 `your_executable_file` 的二进制文件。其中 `$ORIGIN` 表达式代表当前被执行文件所在的绝对路径。 最后,在完成这些改动之后记得清理之前的构建产物重新编译整个工程以确保变更生效。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值