Windows下:
说明:使用Qt自带工具“windeployqt.exe”来拷贝大部分的动态库(.dll),一般有以下两种方法。
前提,将Qt编译方式选为:Release,把编译好的exe文件拷贝到一个空的文件夹下。如图:
①(简单、省事)在Qt的安装目录搜索“windeployqt.exe”,很快就找到了。如图:
打开命令行,直接将windeployqt.exe和编译好的*.exe拖入命令行,中间加一个空格,如图:
等待片刻即可。
②设置环境变量,同样是搜索到windeployqt.exe后,将该文件所在目录加入环境变量中,如图:
以后就可以这么用了,如图:
比起方法①,少了绝对路径,可以直接输入windeployqt即可。
到此为止,Qt程序需要依赖的大部分*.dll都复制过来了,剩下的少数*.dll手动拷贝过来就可以了。
Linux下:
-
从可运行程序的文件中拿出可执行文件
-
终端下 使用ldd命令查看需要的连接库 例如 ldd + 可执行文件
-
把ldd查询到的所有需要的库导出
-
编写.sh文档 (.sh文件命名必须与可执行文件名字一样 例:可执行文件名 test, .sh 文件名为 test.sh)
.sh文件代码如下:
#!/bin/sh
appname=basename $0 | sed s,\.sh$,,
dirname=dirname $0
tmp="KaTeX parse error: Expected '}', got '#' at position 9: {dirname#̲?}" if [ "{dirname%KaTeX parse error: Expected 'EOF', got '}' at position 4: tmp}̲" != "/" ]; the…PWD/ d i r n a m e f i L D L I B R A R Y P A T H = dirname fi LD_LIBRARY_PATH= dirnamefiLDLIBRARYPATH=dirname
export LD_LIBRARY_PATH
d i r n a m e / dirname/ dirname/appname $* -
把所用到的库,可执行文件,.sh文件放到同一目录下
-
(.sh文件可能没有执行权限)终端中进入这一目录, 输入: chmod +x test.sh
-
执行程序点击.sh文件或者终端输入:
./test.sh
原文链接:https://blog.csdn.net/qq1623803207/article/details/77896097