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!",如图所示:

相关推荐
buhuizhiyuci3 分钟前
【Linux 篇】数字世界的水流蓄水池 —— IO 缓冲区机制深度实战解析
linux·运维·服务器·c++
骇客野人11 分钟前
Linux 服务器 Python 版 MCP 服务部署整体方案(适配 Claude/Cursor/自研Agent)
linux·服务器·python
天疆说43 分钟前
04 稳定性与性能调优实录:OOM 崩溃、并发槽位、前缀缓存与 DSpark 调参
linux·运维·缓存
星卯教育tony44 分钟前
NOI Linux 2.0 服务器多用户网页桌面部署方案(腾讯云轻量Ubuntu20.04专属版 CSP复赛比赛环境搭建免安装虚拟机 )
linux·服务器·腾讯云
Forever Nore2 小时前
LeetCode 14 最长公共前缀 - 纵向扫描
linux·服务器·leetcode
拂拉氏2 小时前
【知识讲解】 Linux权限相关知识讲解
linux·权限
Shadow(⊙o⊙)2 小时前
Linux网络部分——TCP协议服务端客户端交互接口,入门级硬核解析1.0
linux·网络·tcp/ip
桑榆4166 小时前
双系统(Windows + Ubuntu)安装流程
linux·windows·ubuntu
ltl13 小时前
实时 OS 巡礼:VxWorks、QNX、Zephyr 与 PREEMPT_RT
linux
我是谁??13 小时前
Ubuntu22.04更换清华源
linux·运维·服务器