qt 加载ffmpeg时,av_register_all()错误exited with code -1073741515

马大可呵呵 2012-08-14 10:18:30
在做qt creator的音视频录制,目前纯视频和纯音频文件同时录制已实现,网上查找如何在qt中合成音视频,了解到ffmpeg加载到qt中,然后用相关的命令行实现音视频合成。
ffmpeg添加到qt中,程序编译通过,运行却不行,一直跳出错误提示"exited with code -1073741515”,看到网上有一种解决方案——在av_register_all();时遇到 exited with code -1073741515错误,这是因为ffmpeg没有配置好,出现这个错误的原因是没有找到dll,dll一般是放在C:\WINDOWS\system32目录下的,我把他ffmpeg的库复制到该目录下就ok了。按照此方法试了很多次,依然运行不起来,还是原来的错误。
以下这两句代码注释了程序才能正常运行
av_register_all();
unsigned version = avcodec_version();
要是真注释了,ffmpeg等于没加载到qt中
请问如何操作,才可以解决错误,让程序正常跑起来
...全文
2039 5 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
序员 2013-05-03
  • 打赏
  • 举报
回复
链接问题。 原因:链接问题。这里的DLL是从http://ffmpeg.zeranoe.com/builds/下载的。它的dll,lib使用dlltools生成的。 解决:右键项目,点击“属性”,在链接器中选择优化,右侧窗口 优化 保留未引用数据(/opt:NO REF) 参考:http://stackoverflow.com/questions/11841522/av-register-all-generates-an-exception-in-release-mode-on-windows
马大可呵呵 2012-09-17
  • 打赏
  • 举报
回复
http://www.pudn.com/downloads125/sourcecode/multimedia/streaming/detail531773.html
应该是这个,时间久了记得不是很清楚,你可以试试看,或者自己再找找其它版本SDK
Orange_JU 2012-09-14
  • 打赏
  • 举报
回复
楼主,能把下的SDK的链接说一下吗?我也遇到了这样的问题,无法找到符号av_register_all();调试的时候出现如下情况:
“fftest.exe”: 已加载“E:\fftest\fftest\Debug\avcodec-52.dll”,未使用调试信息生成二进制文件。
“fftest.exe”: 已加载“C:\WINDOWS\system32\msvcrt.dll”
“fftest.exe”: 已加载“E:\fftest\fftest\Debug\avcore-0.dll”,未使用调试信息生成二进制文件。
“fftest.exe”: 已加载“E:\fftest\fftest\Debug\avutil-50.dll”,未使用调试信息生成二进制文件。
“fftest.exe”: 已加载“E:\fftest\fftest\Debug\avformat-52.dll”,未使用调试信息生成二进制文件。
马大可呵呵 2012-08-14
  • 打赏
  • 举报
回复
照着你说的运行后还是不行,我在想会不会dll文件的问题,就重新下载一个SDK,把SDK的bin和lib文件夹替换到原工程中,一运行果断跑起来了,让人哭笑不得啊。。。

avcodec_license(); 这个函数在编译时报错说未定义,也不知道是哪里出错了,我就干脆注释了这一句,这样运行还是能跑的说明没影响。
freelancer_ex 2012-08-14
  • 打赏
  • 举报
回复
avcodec_license();
avcodec_init();
avcodec_register_all();
av_register_all();

以前用的ffmpeg,可能有冗余 ,顺序是这样,dll在当前目录,当时没问题。版本0.8.11 win32

24,860

社区成员

发帖
与我相关
我的任务
社区描述
C/C++ 工具平台和程序库
社区管理员
  • 工具平台和程序库社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧