gpt4 book ai didi

c++ - 如何在C++程序中使用avcodec_register()

转载 作者:行者123 更新时间:2023-11-30 05:10:55 25 4
gpt4 key购买 nike

我不想用 avcodec_register_all(); 注册所有编解码器我想注册一个特定的编解码器。奇怪的是,我找不到任何显示如何使用 avcodec_register() 的工作示例.大多数例子 I found建议是这样的:

extern AVCodec ff_h264_decoder;

avcodec_register(&ff_h264_decoder);

但是我得到了

unresolved external symbol

链接器错误。我尝试用 extern "C" 包装结构,但还是一样。我需要链接 h264 库才能访问这些结构吗?

最佳答案

我对 MSVC 不是很熟悉,您遗漏了构建细节。然而,此类错误的常见原因是静态链接中的库顺序错误,因此请检查它如何处理依赖项。

下面是一个g++的例子,也许对你或其他人有帮助。

extern "C" {
#include <libavcodec/avcodec.h>
}

extern AVCodec ff_h264_decoder;

int main() {
avcodec_register(&ff_h264_decoder);
}

g++ -o register -I/ffmpeg/include/path register.cpp -L/ffmpeg/lib/path -lavcodec -lavutil -lpthread [-possibly other libs based on configuration]

或使用pkg-config

关于c++ - 如何在C++程序中使用avcodec_register(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45401065/

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