FFmpeg和SDL在Ubuntu16.04的编译安装

环境:

Ubuntu16.04

版本号:

FFmpeg 4.1.3

SDL 2.0.9

安装步骤:

1. 下载安装包

FFmpeg

mkdir ffmpeg
wget https://ffmpeg.org/releases/ffmpeg-4.1.3.tar.bz2

SDL

mkdir sdl2
wget https://www.libsdl.org/release/SDL2-2.0.9.tar.gz

2 编译

FFmpeg

cd ffmpeg
mkdir build
cd build
../configure --prefix=/usr/local/ffmpeg
make
make install

SDL

cd sdl2
mkdir build
cd build
../configure --prefix=/usr/local/sdl2
make
make install

3 测试

使用QT中测试:新建非QT的纯C++ 项目

项目配置文件

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

SOURCES += main.cpp

INCLUDEPATH += /usr/local/ffmpeg/include
INCLUDEPATH += /usr/local/sdl2/include

LIBS+= -L/usr/local/ffmpeg/lib \
       -lavcodec               \
       -lavdevice              \
       -lavfilter              \
       -lavformat              \
       -lavutil                \
       -lswresample            \
       -lswscale


LIBS += -L/usr/local/sdl2/lib/ \
        -lSDL2

main.cpp

#include <iostream>

using namespace std;
#ifdef __cplusplus
extern "C"
{
#include "libavutil/avutil.h"

#include "SDL2/SDL.h"
#include "SDL2/SDL_revision.h"
}
#endif
int main()
{
    cout << "av_version_info is  " <<  av_version_info() << endl;

    SDL_version compiled;
    SDL_version linked;

    /* Enable standard application logging */
    SDL_LogSetPriority(SDL_LOG_CATEGORY_APPLICATION, SDL_LOG_PRIORITY_INFO);

#if SDL_VERSION_ATLEAST(2, 0, 0)
    SDL_Log("Compiled with SDL 2.0 or newer\n");
#else
    SDL_Log("Compiled with SDL older than 2.0\n");
#endif
    SDL_VERSION(&compiled);
    SDL_Log("Compiled version: %d.%d.%d.%d (%s)\n",
           compiled.major, compiled.minor, compiled.patch,
           SDL_REVISION_NUMBER, SDL_REVISION);
    SDL_GetVersion(&linked);
    SDL_Log("Linked version: %d.%d.%d.%d (%s)\n",
           linked.major, linked.minor, linked.patch,
           SDL_GetRevisionNumber(), SDL_GetRevision());
    SDL_Quit();
    return 0;
}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值