在 Ubuntu 上使用 VS Code 交叉编译时如何导航到目标架构的结构定义?

问题描述 投票:0回答:1

我正在 Ubuntu 上交叉编译 Android arm64 二进制文件。我定义了一个名为 user_regs_struct old_regs 的结构。当我在 VS Code 中按 ctrl + 单击时,它会将我带到 android-ndk-r25c/toolchains/llvm/prebuilt/linux-x86_64/sysroot/usr/include 中 #elif Defined(x86_64) 部分内的结构定义/sys/user.h 文件。但是,我想导航到 #elif Defined(aarch64) 部分下的结构定义。我不知道如何在 VS Code 中进行设置。

谁能指导我如何配置 VS Code 以导航到 ARM64 架构而不是 x86_64 架构的结构定义?

谢谢!

我在代码中尝试#define aarch64 1。

android visual-studio-code x86-64 cross-compiling arm64
1个回答
0
投票

它涉及几个步骤,具体取决于项目的具体设置和您正在使用的工具。以下是有关如何实现此目标的一般指南:

  1. 安装必要的工具:确保您已为您的目标架构安装了适当的交叉编译工具链。这通常包括编译器、调试器和其他特定于您的目标架构的开发工具。
  2. 在 VS Code 中打开您的项目:启动 VS Code 并打开代码所在的项目目录。
  3. 配置VS Code进行交叉编译: 在 VS Code 中安装交叉编译支持所需的任何扩展。例如,您可能需要 C/C++ 开发扩展,例如 Microsoft 的“C/C++”。 配置 VS Code 设置 (settings.json) 以使用交叉编译工具链。您可能需要在设置中指定编译器、调试器和其他工具的路径。
  4. 导航至结构定义: 打开包含要在 VS Code 中导航到的结构定义的文件。 如果结构定义位于头文件中,通常可以在结构名称上按住 Ctrl 键并单击(或在 macOS 上按住 Cmd 键并单击)以导航到其定义。或者,您可以右键单击结构名称,然后从上下文菜单中选择“转到定义”。 如果结构定义在源文件中,您可以使用上面提到的相同导航方法。
  5. 确保正确的包含路径: 确保项目中的包含路径设置正确,以包含目标体系结构的标头。这可能涉及在构建系统或 VS Code 设置中配置包含路径。
  6. 调试符号: 确保您的交叉编译工具链生成调试符号(GCC/G++ 的 -g 标志),以便 VS Code 在调试过程中提供对结构定义的准确导航。
  7. 构建您的项目: 在导航到结构定义之前,请确保您的项目使用交叉编译工具链成功构建。
© www.soinside.com 2019 - 2024. All rights reserved.