编译MacOS平台的FFmpeg动态库
#!/bin/bash
make clean
function build_macosx() {
./configure \
--prefix=$PREFIX \
--disable-programs \
--target-os=darwin \
--disable-static \
--pkg-config=$(which pkg-config) \
--enable-shared || exit 0
make clean
make install
}
PREFIX=$(pwd)/macox
build_macosx
将生成的库导入到Clion:
(1)在Clion新建C++项目,项目名称为VAFFmpeg。
(2)将生成的include和lib复制到项目跟目录。如图下图所示:
(3)编写CMakeLists.txt文件,分别引入刚刚复制过来的头文件和动态库,如下:
cmake_minimum_required(VERSION 3.15)
project(Test_2)
set(CMAKE_CXX_STANDARD 11)
set(SOURCE_FILES main.cpp)
link_directories(./lib/)
include_directories(./include/)
add_executable(Test_2 ${SOURCE_FILES})
target_link_libraries(
Test_2
avcodec
avdevice
avfilter
avformat
swresample
)
进行验证
编写main.cpp文件如下:
#include <iostream>
extern "C" {
#include<libavdevice/avdevice.h>
}
using namespace std;
int main() {
cout << "avdevice_license-->" << avdevice_license() << endl;
cout << "avcodec_configuration-->" << avcodec_configuration() << endl;
return 0;
}
执行能正常输出,如下:
感谢大佬:大佬原文