🔥商务合作或网站问题请联系站长🛰️号:lcz_195、邮箱: cyunzing@qq.com

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

3,823次阅读
没有评论

共计 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开发环境

正文完
 4
cyunzing
版权声明:本站原创文章,由 cyunzing 于2024-11-05发表,共计2334字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
⚠️【网络并非法外之地】请和谐发言,勿发表违法违规评论
评论(没有评论)