gpt4 book ai didi

windows - 在 qt creator 中链接 ffmpeg 库时出现运行时错误

转载 作者:可可西里 更新时间:2023-11-01 10:38:37 24 4
gpt4 key购买 nike

我在这里很陌生,但我听说如果您想回答问题,stackoverflow 是提问的地方>.<。所以我希望我的问题不是太琐碎以至于每个人都会因为我缺乏研究而生气(我已经尝试谷歌搜索两天了 D= 没有进展!)我也在 Qt 论坛上问过这个问题,但我想我也会在这里问。

所以...

最近几天我一直在摆弄opengl之类的东西,想写一个视频播放器。

但是,当我尝试导入 ffmpeg 库(avcodec、avformat、avutils 等)时,运行时发生错误(程序编译正常)。在 Debug模式下编译和运行时,错误消息只给我一个内存地址和错误代码 135(未找到 DLL)。

当我在我的代码中包含这些库中的函数(例如 av_register_all())时会发生此错误,并且无论该函数是否实际被调用都会发生。

所以我认为我在链接这些库时做错了什么。我目前正在使用:Windows Vista(32 位),Qt creator 2.4.1 基于 Qt 4.7.4(32 位),Zeranoe 的 FFmpeg build git-3233ad4 (2012-06-30)

我的 .pro 文件包括:

QT       += core gui opengl

TARGET = test
TEMPLATE = app


SOURCES += main.cpp\
mainwindow.cpp \
glwidget.cpp

HEADERS += mainwindow.h \
glwidget.h \

FORMS += mainwindow.ui


LIBS += -L"$$_PRO_FILE_PWD_/libraries/ffmpeg/libs/" -lavcodec -lavformat -lavutil
INCLUDEPATH += libraries/ffmpeg/includes

我已经尝试了 LIBS += 行的许多变体,并多次检查了我的文件路径。但是,在所有这些变体中都会出现 DLL not found 错误 =(。

在执行这些包含时,我是否忘记了什么?

提前致谢>.<,(年轻天真)有抱负的开发者

最佳答案

由于错误表明未找到 DLL 并且当您包含 ffmpeg 函数时会发生这种情况,这意味着 ffmpeg 库是动态链接的(即它们是 DLL)。这意味着要使您的 exe 运行,它需要加载 ffmpeg DLL。您需要将这些 DLL 与您的 exe 文件放在同一目录中。将它们复制到那里。使用 dependency walker查看您需要复制哪些 DLL,但它们应该类似于 avcodec-52.dll、avdevice-52.dll、avformat-52.dll、avutil-49.dll,也许还有一些更多,取决于您的 ffmpeg 构建。

关于windows - 在 qt creator 中链接 ffmpeg 库时出现运行时错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11342243/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com