windows10上使用Visual Studio对树莓派进行交叉编译示例

本文主要介绍通过Visual Studio对树莓派进行交叉编译的方法。

1 环境

宿主机:

系统:Windows10

开发平台:Visual Studio 2022 (我用的是社区版)

VisualGDB:VisualGDB - Download (我下的试用版本)

GNU工具链: Prebuilt GNU toolchain for Raspberry Pi (我下的raspberry-gcc10.2.1-r2.exe)

目标机:

树莓派板子型号:树莓派4B

树莓派系统:Raspberry Pi OS

2 环境准备

2.1 宿主机环境准备

2.1.1 在windows系统上安装Visual Studio 2022,一路下一步;

2.1.2 双击安装VisualGDB,一路下一步;

2.1.3 双击安装raspberry-gcc10.2.1-r2.exe, 报错,如下图所示,

针对该问题进行了排查(如果你能直接运行一路下一步就不用排查了),试了很多方法,网上也查了很多资料,没头绪。后来凭直觉直接将该软件拖到VS2022中,单击运行,发现能进行下去,一路下一步,安装完成。

2.2 目标机环境准备

2.2.1 安装PI OS(方法在网上有很多,自己找);

2.3 连接

将树莓派接入无线网,保证能上网(一会VS会自动帮着装GDBServer),找根网线树莓派和笔记本相连,保证彼此间能Ping通;

3 创建一个简单的工程

如下图所示,创建一个"Linux Project Wizard"工程,在界面看不到的话,就在"Search for template"那个框中搜索,我就是这样找到的,然后单击"Next"

写入自己喜欢的工程名和自己期望的存放工程的文件夹,单击"Create",如下图所示:

单击"OK",如下图

单击"Next",如下图所示:

选择"Build The project locally with a cross-complier",在Cross-toolchain中通过选项选择"Raspberry PI in XXX",刚才装GNU工具链的地方,在"Deployment computer"中选择自己的远端的树莓派,在"Deloyment folder"中输入在树莓派中打算存放的应用程序的路径,单击"Finish",如下图所示:

VisualGDB会对所需的组件逐步检查,全通过的话会在左边打上绿色对号,不通过的话可以帮助在线安装该组件(上文提到要保证树莓派能联网的)。我的当时显示Checking GDB debugger那一项时打X了,起初我的树莓派没联网,老是提示安装失败。后来将树莓派联好网,很快就装上了,如下图所示,:

检查没问题后会自动创建出工程,在LinuxProject.cpp中已经自动生成了代码,如下图所示

在"return 0"前设置断点,然后单击VisualGDB Debugger,如下图所示,

在VisualGDB Output窗口会显示交叉编译调试的相关信息,以及打印出"Hello World",如下图所示,,单击小三角,使工程运行完。

为了保险起见,我使用Putty远程登录到树莓派上,进到之前设定的文件夹下,运行下该程序,确实能够显示"Hello, World!",如图所示:

相关推荐
starvapour26 分钟前
Ubuntu部署gitlab频繁出现502的问题
linux·ubuntu·gitlab
zhangfeng11331 小时前
ps aux讲解,结合国家超算中心 hpc apptainer
linux·服务器·网络
夜月yeyue1 小时前
STM32 DMA 双缓冲采样
linux·stm32·单片机·嵌入式硬件·系统架构
ScilogyHunter1 小时前
Buildroot完全指南:从入门到实战
linux·嵌入式·buildroot
毕竟是shy哥2 小时前
Claude Code 接入 DeepSeek 保姆级教程,WSL/Linux 通用
linux·安装教程·codex·deepseek·claude code·openclaw
无限进步_2 小时前
从零实现一个迷你Shell——深入理解Linux命令行解释器
linux·运维·服务器·开发语言·c++·chrome
happymaker06262 小时前
Linux常见命令总结
linux·运维·服务器
lbb 小魔仙2 小时前
【Linux】DevOps 工程师必备:Linux 自动化脚本与高效工具链整合
linux·自动化·devops
开源量化GO2 小时前
期货 K 线算信号 tick 级止损:天勤双序列 wait_update 触发规则
linux·运维·服务器·python
m0_738120722 小时前
HVV应急溯源基础——Linux 系统安全加固配置指南(一)
linux·运维·服务器·安全·网络安全·系统安全