Qt依赖库路径配置
问题
Windows下,Qt里有两个项目LockerSDKDemo及LockerSDK.
LockerSDKDemo依赖LockerSDK,而LockerSDK依赖外部库,库文件放在其根目录下的depends目录中.
如何配置可以在无需复制任何依赖库的情况下直接编译运行LockerSDKDemo?
LIBS
如果可以将依赖库的路径添加到进程的Path环境变量中,就可以直接运行程序.
这一点可以通过LIBS变量来完成.
LIBS在Qt官网上并没有直接这样介绍,但在实际上它确实这样做的.
这里比较特别的是存在多层依赖,即LockerSDKDemo依赖LockerSDK,而LockerSDK又依赖于depends.
要做的是在LockerSDKDemo同时指定LockerSDK及LockerSDK/depends的路径.即项目要配置所有的依赖路径,包括间接依赖的.
在pro文件中添加如下:
LIBS += -L$$OUT_PWD/../LockerSDK/release/ -lLockerSDK
LIBS += -L$$PWD/../LockerSDK/depends/
进程环境变量查看
ProcessExplorer功能非常强大,可以查看进程环境变量,方法如下:


从上面可以
Qt依赖库路径配置方法

在Windows环境下,当Qt项目 LockerSDKDemo 依赖于 LockerSDK 及其外部库时,为避免复制库文件,可通过配置LIBS环境变量在编译运行时指定依赖库路径。在LockerSDKDemo的pro文件中,需要添加LockerSDK及其depends目录的路径。通过使用ProcessExplorer检查进程环境变量,确认libs路径已加入Path。Qt的LIBS变量并不在官方文档明确说明,但它确实能处理多层依赖的路径配置。
最低0.47元/天 解锁文章
2158

被折叠的 条评论
为什么被折叠?



