手动拷贝Qt的依赖实非明智之举,于是我就做了个半自动拷贝依赖的脚本(之所以是半自动,是因为其中有一部分需要手动操作)。
那么脚本代码如下:
1 | import os |
那么应该如何使用这个脚本呢?先使用这条命令获取你的Qt程序的依赖并将其保存为”dep.txt”:
1 | ldd Qtprogram >> dep.txt |
ldd会列出该程序的依赖,后面的>> dep.txt会将其输出重定向到文件。
然后我们假设上面的python代码名字是dp.py,那么现在将dp.py放在dep.txt的同级目录下,然后运行:
1 | python3 dp.py |
该脚本会自动逐行解析dep.txt的内容并将其中的库文件拷贝到同级目录下的QDependLibrary文件夹里,如果该文件夹不存在就新建一个。
拷贝过来的权限等与之前一致。
那么关于这个脚本的介绍就结束了。
现在是闲聊时间。
- 为什么用字符串内置方法解析库文件路径?
一开始我做库文件路径解析的时候用的是re库,结果可劲儿报错,然后我发现引起报错的原因竟然是我的文本的问题???Excuse me?于是我心想拉倒吧,干脆自己拿str切片解析得了。 - 为什么用python来做自动拷贝脚本?
本来我想用C语言的,因为C性能高嘛(虽然性能高在这里也没啥卵用)。但是想了想写出的代码别人拷贝下来还要编译属实不人道,于是就用python啦!用python可以直接执行命令来运行脚本,不像C还得编译一下,少了一道工序哦(老懒狗了)。
那么本篇完。