在Mac中使用vscode来编译调试x264

本文详细介绍如何在Mac环境下利用brew安装nasm,编译x264并生成可执行文件,以及如何配置VSCode进行C/C++代码调试,包括插件安装、launch.json和tasks.json的设置。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

安装brew

打开Mac终端,直接输入下面的命令:
/bin/zsh -c “$(curl -fsSL https://gitee.com/cunkai/HomebrewCN/raw/master/Homebrew.sh)”
然后回车,选择下载源。

安装nasm

安装好brew之后,用brew命令安装nasm
在Mac终端直接输入命令:
brew install nasm

编译x264,生成可执行文件

(1)打开x264-master文件夹下的configure文件,将其中的
CFLAGS="-O1 -g $CFLAGS" 修改为 CFLAGS="-O0 -g $CFLAGS”
(2)然后进入在终端cd到x264-master文件夹下,输入命令:
./configure --disable-asm --enable-debug --enable-static
(3)make -j8

配置vscode

一·下载安装vscode
二.安装插件
实现 C/Cpp 代码自动补全,函数跳转。

打开VSCode后,按下组合键“⇧⌘X”,打开扩展,输入“C/C++”,安装“C/C++”、“C/C++ Clang Command Adapter”,安装完成后,重启VScode让插件生效。
三·在vscode中打开x264工程文件,配置调试运行的文件。
1·按下组合键“⇧⌘D”,跳转到调试页面,创建launch.json文件,修改配置

Launch.json
{
"version": "0.2.0",
"configurations": [
{
"name": "(lldb) Launch",
"type": "cppdbg",
"request": "launch",
"program": " ${workspaceFolder}/x264",//x264是编译生成的可执行文件

"args": [ "--threads", "1", "--preset", "medium", "--frames","10","--qp","32",
         "--input-res", "416x240",
         "${workspaceFolder}/BasketballPass_416x240_50.yuv",
         "--output", "${workspaceFolder}/test.264"],//执行x264时的参数
"stopAtEntry": false,
"cwd": "${workspaceFolder}",
"environment": [],
"externalConsole": false,
"MIMode": "lldb",
"preLaunchTask": "debug"
}
]
}

其中,program是要调试的运行程序,args是命令行参数,preLaunchTask是编译的任务名称。
2·按下组合键“⇧⌘B”,点击"没有找到要运行的生成任务。配置生成任务…",点击"使用模版创建task.json文件",点击"Others运行任意外部命令的示例"。
Tasks.json文件,这个文件是执行编译的文件。

{

"version": "2.0.0",
"tasks": [
{
"label": "debug",
"type": "shell",
"command": "cd ${workspaceFolder} && make -j8",//-j8是多线程编译,如果打了断点无法调试,先make clean,然后再在终端cd到当前目录,执行--enable-debug,再执行make -j8
"group": {
"kind": "build",
"isDefault": true
}

}
]
}

3、建立一个Setting.json

{
"files.associations":{
"_functional_base":"c"
}
}

这些文件配置好后,就可以打断点进行调试。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值