【第三章】MacOS下配置Visual Studio Code编辑器的FFmpeg开发环境

874次阅读

共计 2334 个字符,预计需要花费 6 分钟才能阅读完成。

MacOS 配置 FFmpeg 开发环境

本文主要是在 Mac 系统下配置 C /C++ 的开发环境,用于学习开发 FFmpeg 使用。Mac 系统如何下载 Visual Studio Code、gcc 编译器和 FFmpeg 的编译与安装等不在本文的讨论。

FFmpeg 的编译安装,可以参考下面的文章。

配置 Visual Studio Code C/C++ 开发环境

VS Code 安装以下拓展

.vscode 目录下的配置文件

task.json 的配置

{
"tasks": [
{
"type": "cppbuild",
"label": "C/C++: gcc 生成活动文件 ",
"command": "/usr/bin/gcc",
"args": [
"-fdiagnostics-color=always",
"-g",
"${file}",
"-o",
"${fileDirname}/output/${fileBasenameNoExtension}"
],
"options": {"cwd": "${fileDirname}"
},
"problemMatcher": ["$gcc"],
"group": {
"kind": "build",
"isDefault": true
},
"detail": " 调试器生成的任务。"
}
],
"version": "2.0.0"
}

launch.json 的配置

{

"configurations": [
{
"name": "C/C++: gcc 生成和调试活动文件 ",
"type": "cppdbg",
"request": "launch",
"program": "${fileDirname}/output/${fileBasenameNoExtension}",
"args": [],
"stopAtEntry": false,
"cwd": "${fileDirname}",
"environment": [],
"externalConsole": false,
"MIMode": "lldb",
"preLaunchTask": "C/C++: gcc 生成活动文件 "
}
],
"version": "2.0.0"
}

测试环境

hello.c

#include <stdio.h>

int main()
{printf("hello c.\n");
return 0;
}

点击 菜单栏的运行 、或者 右上角的运行按钮 ,底下输出hello c. 就说明成功啦~
【第三章】MacOS 下配置 Visual Studio Code 编辑器的 FFmpeg 开发环境

编写第一个 FFmpeg 程序

helloFFmpeg.c

#include <stdio.h>
#include <libavutil/avutil.h>

int main()
{av_log(NULL, AV_LOG_DEBUG, "HelloWord FFmpeg debug.\n");
av_log(NULL, AV_LOG_TRACE, "HelloWord FFmpeg trace.\n");
av_log(NULL, AV_LOG_INFO, "HelloWord FFmpeg.\n");
av_log(NULL, AV_LOG_VERBOSE, "HelloWord FFmpeg verbose.\n");
av_log(NULL, AV_LOG_FATAL, "HelloWord FFmpeg Fatal.\n");
av_log(NULL, AV_LOG_WARNING, "HelloWord FFmpeg WARNING.\n");
av_log(NULL, AV_LOG_ERROR, "HelloWord FFmpeg Error.\n");
return 0;
}

如无意外会报错,报错信息:

fatal error: 'libavutil/avutil.h' file not found
    2 | #include <libavutil/avutil.h>
      |          ^~~~~~~~~~~~~~~~~~~~
1 error generated.

【第三章】MacOS 下配置 Visual Studio Code 编辑器的 FFmpeg 开发环境

报错原因:

编译器没办法找到 <libavutil/avutil.h> 这个头文件,也就是编译的时候我们没把它写上去。

解决办法:

task.json 中加上 "-I/usr/local/ffmpeg5.1.6/include" 到 "-lm" 结束的内容即可。就是在执行编译命令的时候,加上头文件和 library 的查找地址。

{
"tasks": [
{
"type": "cppbuild",
"label": "C/C++: gcc 生成活动文件 ",
"command": "/usr/bin/gcc",
"args": [
"-fdiagnostics-color=always",
"-g",
"${file}",
"-I/usr/local/ffmpeg5.1.6/include",
"-L/usr/local/ffmpeg5.1.6/lib",
"-lavformat",
"-lavdevice",
"-lavfilter",
"-lavcodec",
"-lavutil",
"-lswscale",
"-lswresample",
"-lpostproc",
"-lm",
"-o",
"${fileDirname}/output/${fileBasenameNoExtension}"
],
"options": {"cwd": "${fileDirname}"
},
"problemMatcher": ["$gcc"],
"group": {
"kind": "build",
"isDefault": true
},
"detail": " 调试器生成的任务。"
}
],
"version": "2.0.0"
}

Bingo,执行完毕。

有些没有输出的,不知道是咋肥事。难道是因为 Mac M 系列芯片的问题?挖个坑,改日再细细研究一下。
【第三章】MacOS 下配置 Visual Studio Code 编辑器的 FFmpeg 开发环境

正文完
 1
cyunzing
版权声明:本站原创文章,由 cyunzing 于2024-11-05发表,共计2334字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。