问题背景
客服反馈有客户,会议结束后,上传视频失败。经简单分析,发现FFmpeg将流保存文件时报错,如下图:
解决过程
1:重现安装了c++,不行继续报错。(其实安装没问题,是软件内所带了C++相关库文件,所以根本引用不到系统的库文件。)
2:网上寻找了一番(https://buildbot.hehoe.de/pidgin-devel/wine/drive_c/windows/system32/),也找到了图中所提示的dll,替换后又提示了一系列的dll(内心毫无脾气了…)。替换到最后行不通索性放弃。
3:由于发包的时候不能让用户强行安装c++库,所以在软件目录中带上了c++的相关库文件。我怀疑所带的文件有问题(包括FFmpeg 相关文件)。然后先从我电脑把ffmpeg文件拷贝到用户电脑放在软件目录,依然报错。后面折腾了很久,发现ffmpeg文件单独拷贝到其他目录是可以运行的,所以断定了软件目录所带的c++库文件在这台运行电脑存在问题,最后一个一个文件删除,找到了根本问题。
最终定位
发现所带的c++相关的库文件中有一个mfc42.dll的文件,只要把这个文件删除了。运行正常了。