问题描述
最近用ffmpeg release/4.1分支写了一个Qt程序,用以将mp4切割为hls,gui可一键操作。Qt程序在即将发布时,用 windeployqt.exe mp4ToHls.exe 命令将Qt依赖库copy到exe所在目录后,双击exe启动报错,如下:
解决之法
对Qt程序开发有经验的同学,大致知道可能是x64程序依赖了x86的库所致,此处介绍使用Dependency Walker来查看exe依赖库的cpu架构:
可以看到该exe所依赖的Qt几个dll库是x86架构,copy对应x64的dll即可,同时将ffmpeg所依赖的dll库也一并copy自exe所在目录,而后程序正常运行。
Dependency Walker下载
链接:https://pan.baidu.com/s/1ph-6iy1ANCYkjig_-kEDkA?pwd=0314
提取码:0314