美文网首页首页投稿(暂停使用,暂停投稿)
FFMPEGP 入门之所以很难,很大一部分是环境难以搭配。

FFMPEGP 入门之所以很难,很大一部分是环境难以搭配。

作者: 古典小说 | 来源:发表于2017-11-18 09:28 被阅读0次

FFMPEGP 入门之所以很难,很大一部分是环境难以搭配。

有时候照着别人的资料明明完全一样,还是不行。

这不光是环境搭配的问题,还有FFM存在着各个版本,且不兼容导致的。

还有一个是 头文件、DLL、LIB 要对应一致才可以。

另外一开始肯定不熟悉,不直接引入哪些头文件

自己编译的话,可能还要区分DEBUG、RELEASE版本

这些导致了,FFM很难入门,可能你花了很长时间,自己搭配环境时,总是出现这样那样的问题。

我也是在搭建环境时,遇到了很多问题,现在记录下来,也供大家做个参考。

MFC-FFM环境搭建

首先下载编译好的,我就不再费精力编译了,你如果想和我一样省事,可以下载这个编译好的。

下载地址:https://github.com/gudianxiaoshuo/FFMPEGP

我之前用过其它版本的,然后再用这个时候,发现很多问题,后来研究,是版本不一致导致的。所以将工程中,之前版本的ffm头文件、DLL、LIB都删除了,尤其是工程目录下的LIB,容易忽略掉。

目的就是,只用一个版本,不要多版本冲突,否则,你死都不知道怎么死的。

好,现在已经将其他版本清理干净了,开始环境搭建。

1 项目属性设置

VC++目录设置

avcodec.lib

avdevice.lib

avfilter.lib

avformat.lib

avutil.lib

postproc.lib

swresample.lib

swscale.lib

2 添加头文件

extern "C" //一定要以C的形式,加入头文件

{

#include "libavcodec\\avcodec.h"

#include "libavformat\\avformat.h"

#include "libswscale\\swscale.h"

#include "libavdevice\\avdevice.h"

#include "libavutil\\audio_fifo.h"

};

//因为在项目属性中,已经设置了头文件ffm\\include目录,所以这里头文件,会从ffm\\include目录里查找

3 运行

目前来看,你添加了头文件,添加了LIB

写了一段示例程序

那应该可以了,但你运行时,有可能会碰到这样的链接错误

: error LNK2019: 无法解析的外部符号 "void __cdecl av_free(void *)" (?av_free@@YAXPAX@Z),该符号在函数

当然,如果没有这种错误,正常运行,那就没问题了。

但是,如果你和我一样,总是遇到最坏的情况,就像赶公交,急急忙忙赶到达公交站点,而要坐的那趟公交正好刚走,不得不再等一循环。

如果遇到这种情况,可以试试这种方式,添加LIB

//以C的方式引入

extern "C"

{

#pragma comment (lib, "avcodec.lib")

#pragma comment (lib, "avdevice.lib")

#pragma comment (lib, "avfilter.lib")

#pragma comment (lib, "avformat.lib")

#pragma comment (lib, "avutil.lib")

#pragma comment (lib, "swresample.lib")

#pragma comment (lib, "swscale.lib")

};

如果,你还是遇到错误,就像我一样,总是遇到最坏的情景。

提示没有对应的DLL,这可能就是版本冲突了。

不同版本的LIB,需要的DLL文件名不同。

我就遇到了这个问题,后来查了下,原来我工程主目录下,有别的版本的LIB文件,这样,工程加载时,先搜索的工程主目录下的LIB,找到了就不再搜索别的了,导致了我用的这个版本的LIB没有正确加载。

这就是一开始说的,一定要清理干净其它版本的文件和DLL以及LIB,否则就够你头疼的,尤其是刚入门的,可能你都找不到到底哪里错了,明明和资料配置一样,还是错误,以致于让你怀疑人生。

相关文章

  • FFMPEGP 入门之所以很难,很大一部分是环境难以搭配。

    FFMPEGP 入门之所以很难,很大一部分是环境难以搭配。 有时候照着别人的资料明明完全一样,还是不行。 这不光是...

  • 平常心需静心

    浮躁的世界里,很多人难以以平常心对待,静心很难坚持。 环境的力量很大,耳边时刻都会有噪音打扰,静心就会变得很难,我...

  • 用世界观观世界

    我得承认,对于像我这样的60后大妈,这本书真的很难、很烧脑。不过,虽然很大一部分难以理解,但我还是听得津津有味。 ...

  • 应对焦虑的生活策略

    01 降低环境刺激 对我们影响很大的一种环境,是信息环境,现代人的焦虑感,很大一部分并非来自什么实际的威胁,而是各...

  • 2018-06-04

    TPO着装搭配原则(入门) 正确的着装要与时间、季节吻合 要与所处环境、习俗相吻合, 要与着装人身份、地位相...

  • 4/30 家长撑起孩子一片天

    都说,孩子的性格很大一部分是源于原生家庭的环境。这个环境包括成长的外在环境,也包括父母教育方式这样的内在环境。 这...

  • 致我最亲爱的陌生人

    学习很难 回家也很难 一个人在陌生的城市生活很难 但是我还是来了 之所以大老远跑来 并不全是为了梦想 还有一部分是...

  • ant design pro入门(2)

    ant design pro入门(2) 迟迟没有更新,很大一部分原因是我目前没有深入研究里面用到的dva, red...

  • 如何有效构建一个值钱的故事

    写作是一件很苦的事情,尤其还是故事(小说)写作。之所以苦,是因为很难变现,也就难以坚持。不要再拿梦想或者爱好这类心...

  • 城市很大,生活很难。

    年轻人怀着对这座城市的美好幻想,开启了她人生的追梦之路,却在一次次打击后,被迫无奈选择了逃离,愿她还能对这个世界依...

网友评论

    本文标题:FFMPEGP 入门之所以很难,很大一部分是环境难以搭配。

    本文链接:https://www.haomeiwen.com/subject/qcqevxtx.html