vs2017+qt5.9+python3.6打包exe

1.使用pyinstaller将.py打包成.exe.(pyinstaller xxx.py -F -w)

tricky:

(1)报错:utf-8...0xce不能识别啥的

解决方案:输入CHCP 65001,会车;然后再运行指令。

(2)报错:cannot load or find mkl什么的文件。

解决方案:升级numpy;(pip install --upgrade numpy)然后升级pyinstaller。(可能需要管理员权限)

2.将vs中项目的属性设置为"Release", "x64"。将c/c++ ——代码生成——运行库改为多线程DLL。

3(可选项,用来隐藏system语句调用时弹出的cmd黑框).将system("xxx.exe"),也即执行.py生成的可执行文件的语句换成WinExec,这时需要将windows.h给include进来。这个只需在属性——常规——VC++——包含目录处,添加C:\Program Files (x86)\Windows Kits\10\Include\10.0.16299.0\um

4.下载ProcessExplorer,运行你的程序,然后监视那个进程需要哪些.dll。将他们逐一添加到你的.exe所在的文件位置。

tricky: Qt的许多显示界面都需要将整个文件夹,而不是文件夹里出现的.dll放到.exe旁边!

5.忘了说了,上面一步的.exe一般来说就在vs的x64——Release里面。

6.现在你有了一堆.dll和一个.exe,看上去很乱是不是,不要紧,下载Enigma Virtual Box,成功将它们打包成一个.exe就好了。

猜你喜欢

转载自blog.csdn.net/georgeandgeorge/article/details/80724347