Qt设置运行时动态库路径的几点说明
随着需求的不断增加,程序不断变大,用到的动态库也越来越多,到了发布程序的时候你会发现和可执行文件同一目录下文件数量真多(比如著名的金融软件 https://www.webull.com/ 哎呀我去,目录下一堆动态库文件,滚动条都要拉很久,全部堆一块),此时可能会考虑如何将一些库文件分门别类的存放,这样方便管理。
- Qt提供的设置动态库路径的方法setLibraryPaths是用来搜索插件动态库的,而不是程序直接依赖的动态库。
- 很多人以为这个可以设置Qt的库或者程序中依赖的第三方库的路径,其实想想也知道,因为程序依赖这个库,找不到的话根本跑不起来,程序跑不起来怎么应用执行这个代码呢?
- Qt默认是可用通过setLibraryPaths的方式设置Qt插件的动态库目录位置,比如数据库插件sqldrivers,因为这些库文件是真正在Qt程序跑起来以后通过插件形式去加载的。
- 还可以通过qt.conf文件设置 Plugins="config" 指定所有插件在可执行文件下的config目录下。
- 要想设置程序直接依赖的动态库在其他目录,找遍全宇宙也只有一个办法,那就是设置环境变量,除此别无他法。
- 至于如何设置环境变量方式很多,比如手动在电脑上设置,或者搞个批处理文件执行命令行,在程序安装的时候自动执行,或者程序打包目录下用户手动运行这个批处理。
Qt设置运行时动态库路径的几点说明的更多相关文章
- 转: gcc 指定运行时动态库路径
gcc 指定运行时动态库路径 Leave a reply 由于种种原因,Linux 下写 c 代码时要用到一些外部库(不属于标准C的库),可是由于没有权限,无法将这写库安装到系统目录,只好安装用户目录 ...
- Linux 指定运行时动态库路径【转】
转自:http://www.cnblogs.com/cute/archive/2011/02/24/1963957.html 众所周知, Linux 动态库的默认搜索路径是 /lib 和 /usr/l ...
- 运行时动态库:not found 及介绍-linux的-Wl,-rpath命令
---此文章同步自我的CSDN博客--- 一.运行时动态库:not found 今天在使用linux编写c/c++程序时,需要用到第三方的动态库文件.刚开始编译完后,运行提示找不到动态库文件.我就 ...
- linux 给运行程序指定动态库路径
1. 连接和运行时库文件搜索路径到设置 库文件在连接(静态库和共享 库)和运行(仅限于使用共享库的程序)时被使用,其搜索路径是在系统中进行设置的.一般 Linux 系统把 /lib 和 /usr/li ...
- Linux动态库路径配置
参考链接:https://blog.csdn.net/blade2001/article/details/32839937 为什么要关注动态库路径配置,是因为工作中遇到动态库依赖其他动态库,而其他动态 ...
- 解决 Retrofit 多 BaseUrl 及运行时动态改变 BaseUrl ?
原文地址: juejin.im/post/597856- 解决Retrofit多BaseUrl及运行时动态改变BaseUrl(一) 解决Retrofit多BaseUrl及运行时动态改变BaseUrl( ...
- .NET6运行时动态更新限流阈值
昨天博客园撑不住流量又崩溃了,很巧正在编写这篇文章,于是产生一个假想:如果博客园用上我这个限流组件会怎么样呢? 用户会收到几个429错误,并且多刷新几次就看到了内容,不会出现完全不可用. 还可以降低查 ...
- C# 在运行时动态创建类型
C# 在运行时动态的创建类型,这里是通过动态生成C#源代码,然后通过编译器编译成程序集的方式实现动态创建类型 public static Assembly NewAssembly() { //创建编译 ...
- 使用javassist运行时动态重新加载java类及其他替换选择
在不少的情况下,我们需要对生产中的系统进行问题排查,但是又不能重启应用,java应用不同于数据库的存储过程,至少到目前为止,还不能原生的支持随时进行编译替换,从这种角度来说,数据库比java的动态性要 ...
- gcc 动态编译 动态库路径
gcc 动态编译(共享库) 动态编译的可执行文件需要附带一个的动态链接库,在执行时,需要调用其对应动态链接库中的命令优点:体积小,编译快缺点:依赖性高 代码如下: [root@74-82-173-21 ...
随机推荐
- 什么是 vite ?
vite 是尤雨溪团队开发的新一代前端构建工具,作者尤雨溪宣传的时候表示 vite 是下一代的构建工具,并表示自己再也不会 webpack 了 : vite 的优点主要有3点 : 第一:开发环境中,无 ...
- Acrobat DC安装报错1603,Microsoft Visual C++2013(x64)失败
之前顺利安装过Acrobat DC,但可能因为自动更新了,导致让我重新登录才能使用,无法再次破解.于是我卸载后重新安装,发现提示Microsoft Visual C++2013(x64)运行安装失败. ...
- Nginx 服务器 SSL 证书安装部署
工具:WinSCP.putty 下载证书 cloud.tencent.com_bundle.crt 证书文件 cloud.tencent.com_bundle.pem 证书文件 cloud.tence ...
- Linux系统管理-yum源配置
一.本地光盘yum源配置 1.创建挂载点 [root@localhost ~]# mkdir /mnt/cdrom 2.配置自动挂载本地光盘 [root@localhost ~]# vim /etc/ ...
- Stream流,集合与基本数组的相互转换
Arrays类的Api stream()方法传入数组,返回对应的stream流. Collection集合的Api: stream()不传参数,返回Stream流. 有了上述Api可以完成如下转换.. ...
- 【速记】C++ STL自定义排序
因为是"速记",难免会有不完善的地方.这篇笔记咱日后应该还会进行补充. 关于sort的比较函数 void sort( RandomIt first, RandomIt last, ...
- 深度学习入门笔记——DataLoader的使用
如何使用数据集DataSet? 在介绍DataLoader之前,需要先了解数据集DataSet的使用.Pytorch中集成了很多已经处理好的数据集,在pytorch的torchvision.torch ...
- 五分钟掌握Python中配置文件解析器configparser的使用
--- 好的方法很多,我们先掌握一种 --- [背景] 这里描述的配置文件为自动化用例中使用到的信息,非pytest自动化框架中例如pytest.ini, conftest.py等具有特殊意义的配 ...
- 开源 - Ideal库 - 特殊时间扩展方法(三)
书接上回,我们继续来分享一些关于特殊时间获取的常用扩展方法. 01.获取当天的开始时间 当天的开始时间指00:00:00时刻,因此只需要获取DateTime的Date属性只获取时间即可,具体代码如下: ...
- CF1503E 2-Coloring
CF1503E 2-Coloring cjx 组合强. 思路 观察一下题目,不难发现只有当黄色形成如下的单峰时才合法. (染错色了,将就一下) 其中两座峰的峰顶高度相加等于 \(m\),为了方便统计, ...