ffmpeg学习日记2-新建工程打印ffmpeg版本


文章目录

  • 项目完整代码如下
  • 技术交流
  • 音视频领域其他技术文章的链接
  • opengl相关文章
  • ffmpeg相关文章
  • ffmpeg原理相关文章
  • ffmpeg源码分析相关文章
  • ffmpeg指令相关文章
  • ffmpeg报错相关文章
  • libass相关文章
  • c/c++相关文章
  • linux相关文章
  • 后面都是一些废话,不用看,刷分的
  • 推广一个AI学习网站
  • 中国软件行业倡议书
  • 作者有话说
  • 关于内卷



ffmpeg学习日记2-新建工程打印ffmpeg版本_音视频

参考:

  • Windows FFmpeg环境搭建及使用例子

使用qt新建工程:pro内容如下

TEMPLATE = app
CONFIG += console c++11
CONFIG -= app_bundle
CONFIG -= qt

SOURCES += \
        main.cpp


win32 {
INCLUDEPATH += $$PWD/../include
LIBS += $$PWD/../lib/avcodec.lib \
        $$PWD/../lib/avdevice.lib \
        $$PWD/../lib/avfilter.lib \
        $$PWD/../lib/avformat.lib \
        $$PWD/../lib/avutil.lib \
        $$PWD/../lib/postproc.lib \
        $$PWD/../lib/swresample.lib \
        $$PWD/../lib/swscale.lib
}

main.cpp内容如下

#include <iostream>
#include <stdio.h>
#include "libavutil/avutil.h"



using namespace std;

int main()
{
    cout << "Hello World!" << endl;
    printf("ffmpeg version:%s\n",av_version_info());
    return 0;
}

这是进行编译,会报错:

debug/main.o: In function `main':
D:\work\test\ffmpeg\1-call\build-outputVersion-Desktop_Qt_5_12_0_MinGW_64_bit-Debug/../outputVersion/main.cpp:14: undefined reference to `av_version_info()'
collect2.exe: error: ld returned 1 exit status
make[1]: *** [Makefile.Debug:63: debug/outputVersion.exe] Error 1
make: *** [Makefile:36: debug] Error 2
make[1]: Leaving directory 'D:/work/test/ffmpeg/1-call/build-outputVersion-Desktop_Qt_5_12_0_MinGW_64_bit-Debug'
18:07:04: 进程"D:\Qt\Qt5.12.0\Tools\mingw730_64\bin\make.exe"退出,退出代码 2 。
Error while building/deploying project outputVersion (kit: Desktop Qt 5.12.0 MinGW 64-bit)
When executing step "Make"

报错原因:ffmpeg库的接口都是c函数,其头文件也没有extern "C"的声明,所以在cpp文件里调用ffmpeg函数要加extern “C” 。

参考:

  • 【ffmpeg】编译时报错:error: undefined reference to `av…

项目完整代码如下

修改后的main.cpp内容如下

#include <iostream>
extern "C"{
#include <stdio.h>
#include "libavutil/avutil.h"
}


using namespace std;

int main()
{
    cout << "Hello World!" << endl;
    printf("ffmpeg version:%s\n",av_version_info());
    return 0;
}

至此,我们在win10上,ffmpeg的环境搭建好了,可以做一些小的尝试来学习了。


中国软件行业倡议书

精简软件开发,电脑性能越来越好,打出的程序安装包越来越大,磁盘,内存越吃越多,这不是好现象,手机同理,大家觉得呢,欢迎发表看法,各抒己见。

作者有话说

个人简介:多年工作工程经验,擅长linux下软件开发,qt,ffmpeg音视频二次开发。

欢迎各位叨扰作者,如果有什么项目合作,创业合伙需要研发,网站推广等等,尽管来联系,对于能挣钱的事,作者可是很感兴趣的哦。

关于内卷

劝大家一句,不要内卷,内卷只能害了别人,害了自己。