vs2019编译ffmpeg4.4为静态库或动态库

Posted Dontla

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了vs2019编译ffmpeg4.4为静态库或动态库相关的知识,希望对你有一定的参考价值。

参考文章:vs2019编译ffmpeg源码为静态库动态库【完整步骤、亲测可行】

文章目录

编译

直接把博主的项目下下来

我打开里面FFmpeg文件发现它貌似是4.4版本

然后照着他给的步骤执行命令

先找到vs2019的命令行工具

然后执行两个脚本

执行以上两个脚本后,用vs2019打开SMP目录的source\\FFmpeg\\SMP\\ffmpeg_deps.sln编译
可能会出现“加载失败”的项目,直接卸载删除该项目即可。

然后开始编译,比如编译x64版本的lib,不要dll,选Debug,x64

然后按F7生成解决方案,一堆报错,不用管它

ffmpeg_vs2019\\msvc\\lib\\x64目录查看,只要我们这几个静态库文件生成了就行


测试

创建vs项目,把需要的头文件和静态库文件拷过来

头文件源路径:ffmpeg_vs2019\\msvc\\include
静态库文件源路径:ffmpeg_vs2019\\msvc\\lib\\x64

把上述文件分别拷贝到项目的include和lib目录下

头文件我暂时拷了这些:

静态库文件拷了这些:

项目创建代码main.cpp

/*

ffmpeg lib 测试程序

*/

#include <iostream>

extern "C"

#include "libavformat/avformat.h"


#ifdef _DEBUG
#pragma comment(lib, "libavformatd.lib")
#pragma comment(lib, "libavutild.lib")
#else
#pragma comment(lib, "libavformat.lib")
#pragma comment(lib, "libavutil.lib")
#endif

using namespace std;

int main()

    cout << av_version_info() << endl;

    return 0;


项目右键属性配置附加包含目录和附加库目录



然后运行程序,发现成功打印了ffmpeg版本,测试成功

以上是关于vs2019编译ffmpeg4.4为静态库或动态库的主要内容,如果未能解决你的问题,请参考以下文章

vs+cmake+使用静态库

vs+cmake+使用静态库

VS不同编译器,x86,x64,动态库,静态库交叉引用问题

VS不同编译器,x86,x64,动态库,静态库交叉引用问题

VS不同编译器,x86,x64,动态库,静态库交叉引用问题

VS2019 C++动态链接库的创建使用