提问人:Sere 提问时间:8/1/2022 最后编辑:Sere 更新时间:8/2/2022 访问量:249
FFmpeg avutil.lib 未解析的外部符号
FFmpeg avutil.lib unresolved external symbol
问:
我正在尝试通过 MSVC 项目将 FFmpeg 与 Visual sudio 2022 .NET 6 一起使用。 我遵循了这个教程:https://www.youtube.com/watch?v=qMNr1Su-nR8&ab_channel=HakanSoyalp。 我的意思是我已经配置了包含(.h)文件,库(.lib)文件和动态(.dll)文件复制到bin文件夹中。 例如,如果我调用 avformat.lib 中的 avformat_alloc_context() 方法都可以正常工作,如果我在 avutil.lib 中调用 av_file_map(...),编译器会给我一个错误: LNK2019未解析的外部符号“int __cdecl av_file_map ... 但是 avutil.lib 是链接的!! 如果我在 avutil.lib 模块中调用其他方法,也会发生同样的情况。
感谢您的帮助...
法典:
extern "C"
{
#include <libavformat/avformat.h>
#include <libavutil/file.h> // av_file_map
}
int ConvertJPEGtoNALs(int argc, char* argv[])
{
AVFormatContext* fmt_ctx = NULL;
AVIOContext* avio_ctx = NULL;
uint8_t* buffer = NULL, * avio_ctx_buffer = NULL;
size_t buffer_size, avio_ctx_buffer_size = 4096;
char* input_filename = NULL;
int ret = 0;
struct buffer_data bd = { 0 };
if (argc != 2) {
fprintf(stderr, "usage: %s input_file\n"
"API example program to show how to read from a custom buffer "
"accessed through AVIOContext.\n", argv[0]);
return 1;
}
input_filename = argv[1];
/* register codecs and formats and other lavf/lavc components*/
//av_register_all(); //!deprecated
/* slurp file content into buffer */
ret = av_file_map(input_filename, &buffer, &buffer_size, 0, NULL);
/* fill opaque structure used by the AVIOContext read callback */
bd.ptr = buffer;
bd.size = buffer_size; ???
if (!(fmt_ctx = avformat_alloc_context())) {
ret = AVERROR(ENOMEM);
goto end;
}
//... to be continue ...
}
答: 暂无答案
评论