使用FFmpeg4.3.1的SDK官方开发包编译ffmpeg.c(二)

简介: 使用FFmpeg4.3.1的SDK官方开发包编译ffmpeg.c(二)

使用FFmpeg4.3.1的SDK官方开发包编译ffmpeg.c(一)https://developer.aliyun.com/article/1473994

ffmpeg.c 文件中的 #include 改为 #include "stdatomic.h"

stdatomic.h文件中 # include "../compat/atomics/win32/stdatomic.h"改为 # include

10、为解决下面报错,将 FFmpeg-4.3.r98065 目录下相关的文件拷贝到工程文件对应的文件夹

11、为解决下面报错,定义一个宏 _CRT_SECURE_NO_WARNINGS;

如下图所示

12、将 FFmpeg-4.3.r98065/libavutil 目录下的 timer.h 拷贝到 ffmpeg431_test/ffmpeg431devw32/include/libavutil 目录下

13、将 ffmpeg431_test/ffmpeg431devw32/include/libavutil/internal.h 目录下的 #include "config.h" 注释

14、针对下面问题,在 ffmpeg431_test/ffmpeg431devw32/include/libavutil 目录下新建一个 x86 目录,并将 FFmpeg-4.3.r98065/libavutil/x86 目录下的 timer.h 拷贝进去

如下图所示:

15、同上面情况一样,并将 FFmpeg-4.3.r98065/libavutil/x86 目录下的 emms.h 拷贝进去

如下图所示:

16、针对下面报错,F12 跳转到定义的地方将对应的指针赋初值为 NULL

如下图所示:

17、为解决下面报错,需要将 FFmpeg-4.3.r98065 目录下相关的文件拷贝到工程文件对应的文件夹

18、为解决下面报错,需要将 FFmpeg-4.3.r98065/SMP 目录下的 unistd.h 拷贝到 ffmpeg431_test 工程目录下

并将 ffmpeg.c 中 #include 改成 #include "unistd.h"

19、为解决下面报错,需要将 FFmpeg-4.3.r98065 目录下相关的文件拷贝到工程文件对应的文件夹

20、针对下面报错,需要禁用特定警告 4996

21、针对下面报错,将 ffmpeg.c 文件的 main 函数改为 main_ffmpeg431

22、针对下面问题,添加依赖库

avcodec.lib
avdevice.lib
avfilter.lib
avformat.lib
avutil.lib
postproc.lib
swresample.lib
swscale.lib

编译还会报错

这里耽搁了很多时间去查这个问题,参考下面的博客,发现原来是文中所讲的原因七:位数选择错误

“error LNK2019: 无法解析的外部符号”原因总结

23、按照上面的修改成 WIN32 后,之前属性页所配置的需要再配置一遍,再次编译,无报错!!!

四、测试 ffmpeg.c

1、在 ffmpeg.h 中声明 main_ffmpeg431 函数

2、修改 ffmepg431_test.cpp,将下面代码复制到 ffmepg431_test.cpp

#include <iostream>
extern "C"
{
#include "ffmpeg.h"
}
int main(int argc, char** argv)
{
    main_ffmpeg431(argc, argv);
}

使用FFmpeg4.3.1的SDK官方开发包编译ffmpeg.c(三)https://developer.aliyun.com/article/1473996

目录
相关文章
|
27天前
|
开发工具
使用FFmpeg4.3.1的SDK官方开发包编译ffmpeg.c(三)
使用FFmpeg4.3.1的SDK官方开发包编译ffmpeg.c(三)
17 0
|
4月前
|
Linux 编译器 数据安全/隐私保护
Windows10 使用MSYS2和VS2019编译FFmpeg源代码-测试通过
FFmpeg作为一个流媒体的整体解决方案,在很多项目中都使用了它,如果我们也需要使用FFmpeg进行开发,很多时候我们需要将源码编译成动态库或者静态库,然后将库放入到我们的项目中,这样我们就能在我们的项目中使用FFmpeg提供的接口进行开发。关于FFmpeg的介绍这里就不过多说明。
78 0
|
27天前
|
编解码 IDE 开发工具
使用FFmpeg4.3.1的SDK官方开发包编译ffmpeg.c(一)
使用FFmpeg4.3.1的SDK官方开发包编译ffmpeg.c(一)
21 1
|
9天前
|
JavaScript Java Maven
云效产品使用常见问题之android sdk 构建出aar后,上传到私有maven仓库失败如何解决
云效作为一款全面覆盖研发全生命周期管理的云端效能平台,致力于帮助企业实现高效协同、敏捷研发和持续交付。本合集收集整理了用户在使用云效过程中遇到的常见问题,问题涉及项目创建与管理、需求规划与迭代、代码托管与版本控制、自动化测试、持续集成与发布等方面。
|
4月前
|
安全 开发工具 Android开发
几个Flutter常见诊断错误与解决Android toolchain - develop for Android devices X Unable to locate Android SDK
几个Flutter常见诊断错误与解决Android toolchain - develop for Android devices X Unable to locate Android SDK
315 0
|
7月前
|
API 开发工具 Android开发
解决 Android App 上架 Google play后 ,签名变更,第三方sdk无法登录
解决 Android App 上架 Google play后 ,签名变更,第三方sdk无法登录
149 0
|
Java 语音技术 开发工具
Android 讯飞离线语音听写/离线语音识别SDK
Android 讯飞离线语音听写/离线语音识别SDK
394 0
Android 讯飞离线语音听写/离线语音识别SDK
|
4月前
|
开发工具 Android开发
Android获取SDK的版本信息
Android获取SDK的版本信息
39 0
|
5月前
|
编解码 Java 开发工具
Android端接入视频生产 Java SDK
Android端接入视频生产 Java SDK
40 1
|
9月前
|
Java 开发工具 Android开发
逻辑清晰,详解社交源码Android开发SDK
前篇我们讲解了有关如何在IOS平台开发集成SDK,那么今天来给大家简单讲解下如何在社交源码Android客户端上开发集成 SDK。
逻辑清晰,详解社交源码Android开发SDK