4、Clion搭建FFmpeg開發環境

[TOC]ios

開始前的BB

終於要開始寫東西了呢 bash

開始以前咱們先把環境配置好,爲了兼容不一樣平臺的大佬能有相同的體驗,因此用Clion作爲IDE,話很少說,開搞

工程的創建

首先咱們用Clion建立一個C++11的工程,而後在根目錄下簡歷如下幾個文件夾ide

include          //存放引用的頭文件
librarys         //存放所依賴的庫文件
src              //存放代碼
video            //存放測試視頻
複製代碼

而後咱們去下載的shared庫的bin裏函數

把dylib放入 librarys/

而後去下載解壓後的dev包裏,將全部的頭文件,copy到include裏,若是如今一步步照着作的話,那麼項目的結構是這樣的post

如今 咱們來編寫Cmake(Cmake的語法抽空寫個博客來說,這裏暫時就不講了,不懂的同窗告訴你個好消息,本專欄已經和百度達成了合做☺️)測試

cmake_minimum_required(VERSION 3.13)
project(LearnFFmpeg)

set(CMAKE_CXX_STANDARD 11)

set(SRC_DIR ./)

include_directories(include/)
link_directories(librarys/ffmpeg/)

set(SOURCE_FILES

        main.cpp
        )


add_executable(LearnFFmpeg

        ${SOURCE_FILES})

target_link_libraries(
        LearnFFmpeg

        avformat.58
        avcodec.58
        avdevice.58
        avfilter.7
        avutil.56
        postproc.55
        swresample.3
        swscale.5
)


複製代碼

main.cppui

//
// Created by MirsFang on 2019-03-12.
//
#include <iostream>

extern "C"{
#include <libavformat/avformat.h>
}

using namespace std;
int main(){

    int version =avformat_version();
    cout<<"version:"<<version<<endl;

    return 0;
}
複製代碼

點擊運行spa

若是看見3d

代表環境已經搭建成功

可能會碰見的錯誤

這個說明你的動態庫沒有找到,通常來說去看Cmake裏面的link_directories是否設置正確,本文的是link_directories(librarys/),對應根目錄librarys/code

  • symbol(s) not found for architecture x86_64

這個錯誤,大機率是直接這樣include

這個問題是缺乏了extern "C" ,他的做用的主要做用就是爲了可以正確實現C++代碼調用其餘C語言代碼(主要緣由是由於C++支持函數重載,而C語言並不支持函數重載)因此把 extern "C" 加上

下一步咱們就開始簡單的寫一點實用的東西

未完持續。。。

相關文章
相關標籤/搜索