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

相关文章:
windows10上使用Visual Studio对树莓派进行交叉编译示例
本文主要介绍通过Visual Studio对树莓派进行交叉编译的方法。 1 环境 宿主机: 系统:Windows10 开发平台:Visual Studio 2022 (我用的是社区版) VisualGDB: VisualGDB - Download (我下的试用版本) GNU工具链: Prebuilt GNU toolchain f…...
flutter开发web应用支持浏览器跨域设置
开发web应用难免会遇到跨域问题,所以flutter设置允许web跨域的设置是要在你的flutter安装路径下面 flutter\bin\cache 找到flutter_tools.stamp文件,然后删除掉:这个文件是临时缓存文件 然后找到 flutter\packages\flutter_tools\lib\src\web…...
C#调用C++动态库接口函数和回调函数方法
这篇文章主要介绍了C#调用C动态库接口函数和回调函数方法,通过C端编写接口展开内容,文章介绍详细具有一定的参考价值,需要的小伙伴可以参考一下 需求: 当前C已经写好了一个动态库,完成了产品开发需求,C#需要调用C编写…...
3D造型渲染软件DAZ Studio mac中文版介绍
DAZ Studio mac是一款3D造型和渲染软件,由 Daz 3D 公司开发。它允许用户创建、编辑、动画化并渲染精美的数字图像与动画。DAZ Studio 还提供了一个虚拟的3D艺术家工作室环境,让用户可以轻松地设置场景、布置角色和应用材质。 用户可以通过 DAZ Studio 中…...
破解tomcat密码并上传webshell
tomcat基础认证爆破 暴力破解 进入vulnhub的tomcat8目录,启动环境 由于tomcat密码默认最大尝试错误次数为5次,需要修改server.xml,修改下面字段 failureCount"10000000000" lockOutTime"0"tomcat默认界面,…...
Java 8 Stream 的使用场景
Java 8 Stream 的使用场景 只符合所筛选条件至多一条 CommonArea l common.stream().filter(item ->item.getName().equals("aa")).findAny().orElse(null);返回多条记录 List<Object> list common.stream().filter(item -> item.getName().equals(&…...
图片转换到PDF
把一系列图片整合到PDF格式 Python代码 import os from io import BytesIO from PIL import Imageos.environ[NLS_LANG] SIMPLIFIED CHINESE_CHINA.UTF8 SUPPORT_SUFFIX ["jpg", "jpeg", "png"]def pic_to_pdf(image_bytes: bytes) -> byt…...
代码模版-实现重置按钮清空表单数据,vue+elementUI
文章目录 界面代码 界面 页面上可能会有「搜索」按钮 也会有「重置」按钮 重置 btn 的作用是为了清空前面 form 表单中的数据 代码 我们使用 elementUI vue 来做 解释:我们在 el-form 组件中加上 ref"searchFormRef",后续 js 中通过 thi…...
人格障碍在线测试,人格障碍筛查和判断 PDQ-4+
每个人都是独一无二的,每个人都存在人格上的偏差,日常生活中我们携带着自己的人格在忙碌,在不够成对学习、生活和工作的影响下,我们认为都是健康的人格,反之则属于人格障碍。 人格障碍给我们的日常生活带来极大的影响…...
redis相关文章汇总
一、redis结构 1-redis-功能分类 跳转 redis数据结构对比跳转 以下链接忽略: 01-Redis数据结构-汇总跳转 02-Redis数据结构-List跳转 03-Redis数据结构-dict跳转 二、redis问题攻克难点 缓存穿透、缓存雪崩、缓存击穿区别和解决方案跳转 DB和缓存一致性的问题…...
安防监控展示预约小程序的作用如何
监控在生活中的用途非常广泛,普遍应用于小区门户、商业大厦、产业基地、家庭、汽车等场景中,市场需求较大,同时随着科技发展,安防监控产品更新迭代也比较快,衍生出的经销店、安装技术工等产业近些年也比较火。 安防监…...
(Matalb回归预测)WOA-BP鲸鱼算法优化BP神经网络的多维回归预测
目录 一、程序及算法内容介绍: 基本内容: 亮点与优势: 二、实际运行效果: 三、部分代码: 一、程序及算法内容介绍: 基本内容: 本代码基于Matalb平台编译,将WOA(鲸鱼算法)与BP神…...
某头部通信企业:SDLC+模糊测试,保障数实融合安全发展
某头部通信企业是全球领先的综合通信信息解决方案提供商,为全球电信运营商、政企客户和消费者提供创新的技术与产品解决方案。该企业持续关注核心技术攻关,深入打造系列化标杆项目和价值场景,加强数字化平台的推广应用,加快共建开…...
【fbtft】如何添加fbtft驱动
获取lcd ic的datasheet,或者直接找到其他平台(linux,stm32,esp32)的驱动 我用的是合宙的esp32驱动,注意是c语言的,合宙上层用lua封装了,需要找到sdk源码。 源码路径: …...
【2023云栖】郭瑞杰:阿里云搜索产品智能化升级
本文根据 2023 云栖大会演讲实录整理而成,演讲信息如下: 演讲人:郭瑞杰 | 阿里云资深技术专家、搜索负责人 演讲主题:阿里云搜索产品智能化升级发布 近日在2023云栖大会上,阿里云搜索负责人郭瑞杰对阿里云搜索产品智…...
数据库事务相关问题
1. 什么是数据库事务? 事务,由一个有限的数据库操作序列构成,这些操作要么全部执行,要么全部不执行,是一个不可分割的工作单位。 假如A转账给B 100 元,先从A的账户里扣除 100 元,再在 B 的账户上加上 100 …...
Digicert证书:您的网络安全守护神
在当今数字化的世界中,网络安全已经成为每一个企业和个人必须面对的问题。而Digicert品牌证书,就是您网络安全的最佳选择。它不仅具有强大的安全性和稳定性,还能广泛应用于各种场景,为您提供全方位的保护。 首先,我们要…...
LLM App ≈ 数据ETL管线
虽然现有的 LLM 应用程序工具(例如 LangChain 和 LlamaIndex)对于构建 LLM 应用程序非常有用,但在初始实验之外不建议使用它们的数据加载功能。 当我构建和测试我的LLM应用程序管道时,我能够感受到一些尚未开发和破解的方面的痛苦…...
k8s的error: metrics not available yet问题处理
kubectl top node报错处理 解决步骤环境说明问题现象初次排查问题解决版本兼容性metric-server.yaml 问题验证 解决步骤 因项目要求,需在k8s集群中使用 kubectl top node命令,但是一直报error: metrics not available yet错误。为了更好的复现问题&…...
简单的python爬虫工具,B站视频爬虫
分享一个我自己写的pythonB站视频爬虫,写的比较粗糙 当然网上一堆B站视频获取的工具,也不差我这个粗糙的python脚本,就是分享出来大家一起讨论学习,如果大家有什么好的想法和功能我们可以一起聊聊。 这里分享一个我自己用的B站视…...
地震勘探——干扰波识别、井中地震时距曲线特点
目录 干扰波识别反射波地震勘探的干扰波 井中地震时距曲线特点 干扰波识别 有效波:可以用来解决所提出的地质任务的波;干扰波:所有妨碍辨认、追踪有效波的其他波。 地震勘探中,有效波和干扰波是相对的。例如,在反射波…...
PHP和Node.js哪个更爽?
先说结论,rust完胜。 php:laravel,swoole,webman,最开始在苏宁的时候写了几年php,当时觉得php真的是世界上最好的语言,因为当初活在舒适圈里,不愿意跳出来,就好比当初活在…...
在HarmonyOS ArkTS ArkUI-X 5.0及以上版本中,手势开发全攻略:
在 HarmonyOS 应用开发中,手势交互是连接用户与设备的核心纽带。ArkTS 框架提供了丰富的手势处理能力,既支持点击、长按、拖拽等基础单一手势的精细控制,也能通过多种绑定策略解决父子组件的手势竞争问题。本文将结合官方开发文档,…...
1688商品列表API与其他数据源的对接思路
将1688商品列表API与其他数据源对接时,需结合业务场景设计数据流转链路,重点关注数据格式兼容性、接口调用频率控制及数据一致性维护。以下是具体对接思路及关键技术点: 一、核心对接场景与目标 商品数据同步 场景:将1688商品信息…...
基于Docker Compose部署Java微服务项目
一. 创建根项目 根项目(父项目)主要用于依赖管理 一些需要注意的点: 打包方式需要为 pom<modules>里需要注册子模块不要引入maven的打包插件,否则打包时会出问题 <?xml version"1.0" encoding"UTF-8…...
Ascend NPU上适配Step-Audio模型
1 概述 1.1 简述 Step-Audio 是业界首个集语音理解与生成控制一体化的产品级开源实时语音对话系统,支持多语言对话(如 中文,英文,日语),语音情感(如 开心,悲伤)&#x…...
MySQL用户和授权
开放MySQL白名单 可以通过iptables-save命令确认对应客户端ip是否可以访问MySQL服务: test: # iptables-save | grep 3306 -A mp_srv_whitelist -s 172.16.14.102/32 -p tcp -m tcp --dport 3306 -j ACCEPT -A mp_srv_whitelist -s 172.16.4.16/32 -p tcp -m tcp -…...
return this;返回的是谁
一个审批系统的示例来演示责任链模式的实现。假设公司需要处理不同金额的采购申请,不同级别的经理有不同的审批权限: // 抽象处理者:审批者 abstract class Approver {protected Approver successor; // 下一个处理者// 设置下一个处理者pub…...
[ACTF2020 新生赛]Include 1(php://filter伪协议)
题目 做法 启动靶机,点进去 点进去 查看URL,有 ?fileflag.php说明存在文件包含,原理是php://filter 协议 当它与包含函数结合时,php://filter流会被当作php文件执行。 用php://filter加编码,能让PHP把文件内容…...
【从零开始学习JVM | 第四篇】类加载器和双亲委派机制(高频面试题)
前言: 双亲委派机制对于面试这块来说非常重要,在实际开发中也是经常遇见需要打破双亲委派的需求,今天我们一起来探索一下什么是双亲委派机制,在此之前我们先介绍一下类的加载器。 目录 编辑 前言: 类加载器 1. …...
