ffmpeg基础(三)Linux下使用vscode编写ffmpeg程序

目录

一、下载vscode

二、生成并配置c_cpp_properties.json

三、编写Makefile

 四、配置成果

        为啥要选择vscode来对ffmpeg进行编程,而不是gedit或者vim呢?因为vscode有一个文件:c_cpp_properties.json,它可以指定其他路径下的头文件,这样在使用ffmpeg的函数的时候,vscode可以对函数进行提示,加快编程速度。同时vscode自带终端控制台,可以在其中进行make和调试等操作。

一、下载vscode

Download Visual Studio Code - Mac, Linux, Windows

二、生成并配置c_cpp_properties.json

        ctrl+shift+p 打开Command Palette,运行 C/C++: Edit configurations(JSON),生成c_cpp_properties.json

ffmpeg基础(三)Linux下使用vscode编写ffmpeg程序_第1张图片

        在 "includePath" 下增加ffmpeg的头文件路径。

"/usr/local/ffmpeg/include"

 ffmpeg基础(三)Linux下使用vscode编写ffmpeg程序_第2张图片ffmpeg基础(三)Linux下使用vscode编写ffmpeg程序_第3张图片

         这样在输入属于ffmpeg的函数的时候,vscode就可以进行提示啦。

ffmpeg基础(三)Linux下使用vscode编写ffmpeg程序_第4张图片

三、编写Makefile

        使用Makefile文件进行编译程序十分方便,这里附上可以编译ffmpeg程序的Makefile。感兴趣的可以研究一下它的实现原理。

CC=gcc

#生成的可执行文件名
TARGET=log

LIB=libavcodec libavformat libavutil libavfilter libavdevice libswresample libswscale
BUILD_DIR=build
SRC_DIR=sources .
INC_DIR=includes .

#得到所有.h文件
ALL_INC=$(foreach dir, $(INC_DIR), $(wildcard $(dir)/*.h))
#在gcc命令后面加上-I
GCC_INC=$(patsubst %, -I%, $(INC_DIR))

#得到所有.c文件
ALL_SRC=$(foreach dir, $(SRC_DIR), $(wildcard $(dir)/*.c))

#先将*.c前面的目录去掉
SRC=$(notdir $(ALL_SRC))
#将*.c换成*.o文件
BUILD=$(patsubst %.c, %.o, $(SRC))
#在*.o前面加上 $(BUILD_DIR)/
OBJS=$(patsubst %, $(BUILD_DIR)/%, $(BUILD))

$(BUILD_DIR)/$(TARGET):$(OBJS)
	$(CC) $^ -o $@ `pkg-config --libs --cflags $(LIB)`

$(BUILD_DIR)/%.o:%.c $(ALL_INC) | create_build
	$(CC) -c $< -o $@ $(GCC_INC) `pkg-config --libs --cflags $(LIB)`

.PHONY:clean create_build

clean:
	rm -r $(BUILD_DIR)

create_build:
	mkdir -p $(BUILD_DIR)

 四、配置成果

ffmpeg基础(三)Linux下使用vscode编写ffmpeg程序_第5张图片

你可能感兴趣的:(FFmpeg,音视频,linux)