Windows下VScode配置FFmpeg开发环境保姆级教程
相关准备
-
提前在本地开发环境中配置好mingw64或者msys2开发工具集。
-
安装VScode软件。
下载Windows版本的FFmpeg相关库
-
下载地址:https://ffmpeg.org/download.html
-
下载步骤:如下图。
-
下载后的文件:包含了可执行文件ffmpeg、ffplay、ffprobe,头文件、库文件等。
├─bin ├─doc ├─include │ ├─libavcodec │ ├─libavdevice │ ├─libavfilter │ ├─libavformat │ ├─libavutil │ ├─libswresample │ └─libswscale └─lib└─pkgconfig
VScode配置FFmpeg步骤
-
创建文件夹test-ffmpeg
mkdir test-ffmpeg
-
将ffmpeg库文件移到test-ffmpeg文件夹
mv ffmpeg test-ffmpeg
-
VScode打开test-ffmpeg文件夹
-
配置 c_cpp_properties.json
-
按住“ctrl+shift+p”,选择 C/C++:Edit Configurations(JSON),点开默认内容如下:
-
配置c_cpp_properties.json内容,修改如下:
{"configurations": [{"name": "Win32","includePath": ["${workspaceFolder}/**","C:/Users/yance/downloads/test-ffmpeg/ffmpeg/include"],"defines": ["_DEBUG","UNICODE","_UNICODE"],"windowsSdkVersion": "10.0.26100.0","compilerPath": "C:/mingw64/bin/gcc.exe","cStandard": "c17","cppStandard": "c++17","intelliSenseMode": "windows-gcc-x64"}],"version": 4 }
-
-
配置 tasks.json
-
按住“ctrl+shift+p”,输入“tasks”,选择第一个,即默认的task。
-
配置tasks.json,修改内容如下:
{"version": "2.0.0","tasks": [{"type": "cppbuild","label": "C/C++: gcc.exe 生成ffmpeg活动文件","command": "C:/mingw64/bin/gcc.exe","args": ["-fdiagnostics-color=always","-g","${file}","-L","C:/Users/yance/downloads/test-ffmpeg/ffmpeg/lib","-I","C:/Users/yance/downloads/test-ffmpeg/ffmpeg/include","-lavcodec","-lavdevice","-lavfilter","-lavformat","-lavutil","-lswresample","-lswscale","-o","${fileDirname}\\${fileBasenameNoExtension}.exe"],"options": {"cwd": "${fileDirname}"},"problemMatcher": ["$gcc"],"group": {"kind": "build","isDefault": true},"detail": "编译器: C:/mingw64/bin/gcc.exe"}] }
-
-
配置 launch.json
-
点击VScode顶部的“运行”
-
点击“添加配置”,在弹出的窗口上选择“C++(GDB/LLDB)”
-
配置launch.json,修改内容如下:
{// 使用 IntelliSense 了解相关属性。 // 悬停以查看现有属性的描述。// 欲了解更多信息,请访问: https://go.microsoft.com/fwlink/?linkid=830387"version": "0.2.0","configurations": [{"name": "(gdb) 启动","type": "cppdbg","request": "launch","program": "${fileDirname}\\${fileBasenameNoExtension}.exe","args": [],"stopAtEntry": false,"cwd": "${fileDirname}","environment": [],"externalConsole": false,"MIMode": "gdb","miDebuggerPath": "c:/mingw64/bin/gdb.exe","setupCommands": [{"description": "为 gdb 启用整齐打印","text": "-enable-pretty-printing","ignoreFailures": true},{"description": "将反汇编风格设置为 Intel","text": "-gdb-set disassembly-flavor intel","ignoreFailures": true}]}] }
-
-
创建main.c文件进行测试
- 编辑测试代码
#include <stdio.h> #include <stdlib.h> #include <string.h> #include <stdint.h> #include <libavutil/log.h>int main() {av_log_set_level(AV_LOG_DEBUG);printf("hello FFmpeg!\n");av_log(NULL, AV_LOG_INFO, "hello FFmpeg!\n");return 0; }
- 运行
- 生成exe文件并输出结果
备注
- 可以根据需求将gcc的编译器修改成g++;
- 可以根据需求再配置OpenCV等库文件,过程都类似。