FFmpeg和vs2022开发环境配置

1.FFmpeg的编译

按着下面的连接做完就行:

https://blog.csdn.net/Jay_Xio/article/details/125321586?spm=1001.2101.3001.6650.6&utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7EOPENSEARCH%7ERate-6-125321586-blog-81605472.t5_refersearch_landing&depth_1-utm_source=distribute.pc_relevant.none-task-blog-2%7Edefault%7EOPENSEARCH%7ERate-6-125321586-blog-81605472.t5_refersearch_landing&utm_relevant_index=7

生成后是这样的:
在这里插入图片描述

2.VS配置

首先,先把三个文件夹bin、include、lib都复制到项目文件夹中
在这里插入图片描述

由于这里的lib文件是放在bin里的,但是bin里配置后好像找不到lib文件,所以把他们剪切到lib中
在这里插入图片描述
其余两文件夹:
在这里插入图片描述
在这里插入图片描述

在vs在配置调式时动态库

在这里插入图片描述
bin中包含的是dll动态文件,一般来说同时有lib文件和dll文件时,lib的作用是链接dll动态库,本身不具备具体的实现代码,如果忽略这步可能会导致:LNK1104错误,找不到某些调用的库,如avcodec-58.dll库。当然也可以直接把dll文件剪切到项目的主目录,也就是这里的test目录,这样他也能直接找到dll文件,但是这里放在bin里,他找不到,所以要加上这步。

配置头文件库,也就是include那个库,里面包含各种头文件

在这里插入图片描述

配置lib文件,lib是静态库文件,先配置文件夹地址,再填上所有的依赖项

在这里插入图片描述

在这里插入图片描述
这里给你们贴上:
avcodec.lib
avdevice.lib
avfilter.lib
avformat.lib
avutil.lib
postproc.lib
swscale.lib
swresample.lib

测试

代码:

// test.cpp : 此文件包含 "main" 函数。程序执行将在此处开始并结束。
//

// 这句是FFmpeg规定的在C++中必须加的一句
#define __STDC_CONSTANT_MACROS

#include <iostream>

// ffmpeg是基于C的,因此要告诉C++文件,这里调用的C语言的库,要用extern
extern "C"
{
    
    
    // 告知这部分代码用C编译器进行编译,C++和C的编译是不同的,C++支持函数重载,C不支持,具体看:https://baike.baidu.com/item/extern%20%22C%22/15267013
    #include "libavcodec/avcodec.h"
}

int main()
{
    
    
	// 输出配置
    std::cout << avcodec_configuration();
}

// 输出
--prefix=./install --toolchain=msvc --arch=x64 --enable-shared --enable-sdl2 --enable-gpl --enable-libx264 --enable-libx265 --enable-libfdk-aac --enable-nonfree

猜你喜欢

转载自blog.csdn.net/A_easy_learner/article/details/127554116