c/c++ 无法跳转定义

背景

对于嵌入式开发离不开交叉编译工作,采用vccode远程到虚拟机开发来说,总会遇到一个函数跳转问题。下面针对运用开发如何设置vscode保证函数能正确跳转大函数定义。

一、安装c/c++插件

安装C/C++ Extension Pack插件,这插件包含有几个插件。我是有其他vscode主题,C/C++ Themes我单独卸载了,其他的最好都要保留。

安装完插件之后打开一个c/c++文件,会在右下角出现一个中括号{},打开它就发现代码分析扫描功能。

二、设置c_cpp_properties.json

vscode输入快捷键Ctrl+Shift+P,输入c/c++,选择第一个UI

选择c_cpp_properties.json,进入文件编辑,补充对应信息即可。

相关内容解析如下。

bash 复制代码
{
    "configurations": [
        {
            "name": "Linux",//默认Linux
            "includePath": [//补充工程头文件路径,重要
                "${workspaceFolder}/**",
                "${workspaceFolder}/mpp_rtmp",
                "${workspaceFolder}/mpp_rtmp/inc",
                "${workspaceFolder}/mpp_rtmp/rkmpp/inc/rockchip"
            ],
            "defines": [],
            "compilerPath": "/home/zfeng/rk3568_linux_5.10/prebuilts/gcc/linux-x86/aarch64/gcc-arm-10.3-2021.07-x86_64-aarch64-none-linux-gnu/bin/aarch64-none-linux-gnu-gcc",//补充交叉编译器路径,重要
            "cStandard": "c11",//对于 C 语言,GCC 10 默认使用 C11 标准。
            "cppStandard": "c++14",//对于 C++ 语言,GCC 10 默认使用 C++14 标准。
            "intelliSenseMode": "${default}"
        }
    ],
    "version": 4
}

经过上述操作,函数能正常跳转,并且找不到头文件的错误少很多。

三、参考

用于交叉编译的 IntelliSense

相关推荐
码客-ygluu7 小时前
X3 LUA 异步分布式微服务集群框架
c++·架构·lua
starzy19908 小时前
深入理解Scala隐式类:扩展方法机制
开发语言·人工智能·scala
M--Y8 小时前
LangGraph 工作流模式
开发语言·javascript·python·langchain·大模型·llm·langgraph
九英里路10 小时前
protobuf快速上手
网络·c++·中间件·json·谷歌·序列化·protobuf
吴可可12310 小时前
WScript Shell操作注册表详解
开发语言
纪念 22910 小时前
C++ 算法基础 (差分)
开发语言·c++·算法
码农小河6615 小时前
基于PHP的电商后台蜜罐系统
开发语言·php
starzy199015 小时前
深入理解Scala柯里化函数:函数链式变换
开发语言·scala
ShineWinsu15 小时前
对于Qt:QTreeWidget常见属性以及QTreeWidgetItem类的解析
开发语言·c++·qt·gui·客户端·多叉树·qtreewidget
落羽的落羽16 小时前
【C++】C++17的主要特性
linux·服务器·开发语言·c++·算法·机器学习