四、Clion搭建FFmpeg開發環境

Mirs發表於2019-04-10

[TOC]

開始前的BB

終於要開始寫東西了呢

四、Clion搭建FFmpeg開發環境
開始之前我們先把環境配置好,為了相容不同平臺的大佬能有相同的體驗,所以用Clion做為IDE,話不多說,開搞

四、Clion搭建FFmpeg開發環境

工程的建立

首先我們用Clion建立一個C++11的工程,然後在根目錄下簡歷以下幾個資料夾

四、Clion搭建FFmpeg開發環境

include          //存放引用的標頭檔案
librarys         //存放所依賴的庫檔案
src              //存放程式碼
video            //存放測試視訊
複製程式碼

然後我們去下載的shared庫的bin裡

四、Clion搭建FFmpeg開發環境
把dylib放入librarys/

然後去下載解壓後的dev包裡,將所有的標頭檔案,copy到include裡,如果現在一步步照著做的話,那麼專案的結構是這樣的

四、Clion搭建FFmpeg開發環境

現在 我們來編寫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.cpp

//
// 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;
}
複製程式碼

點選執行

四、Clion搭建FFmpeg開發環境

如果看見

四、Clion搭建FFmpeg開發環境
表明環境已經搭建成功

可能會遇見的錯誤

四、Clion搭建FFmpeg開發環境

這個說明你的動態庫沒有找到,一般來講去看Cmake裡面的link_directories是否設定正確,本文的是link_directories(librarys/),對應根目錄librarys/

  • symbol(s) not found for architecture x86_64

四、Clion搭建FFmpeg開發環境

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

四、Clion搭建FFmpeg開發環境

這個問題是缺少了extern "C" ,他的作用的主要作用就是為了能夠正確實現C++程式碼呼叫其他C語言程式碼(主要原因是因為C++支援函式過載,而C語言並不支援函式過載)所以把 extern "C" 加上

四、Clion搭建FFmpeg開發環境

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

未完持續。。。

相關文章