时间不断地流逝,到目前已经是2022年了,离2017年已经过去5年了。

因此开发语言也与时俱进,慢慢转换到C++17的版本上来了。要想在树莓派里使用更高的版本,需要安装g++10.1版本。
GCC支持C++版本如下:

下面就来进行这个过程:

更新最新的系统
$ sudo apt update && sudo apt upgrade -y

从库里下载二进制版本
$ git clone https://bitbucket.org/sol_prog/raspberry-pi-gcc-binary.git

进入下载的目录
$ cd raspberry-pi-gcc-binary

解压这个文件
$ tar -xjvf gcc-10.1.0-armhf-raspbian.tar.bz2

设置环境参数及链接,现将文件gcc-10.1.0移动到/opt路径下,然后再删除下载的文件。
$ sudo mv gcc-10.1.0 /opt
$ cd ..
$ sudo rm -rf raspberry-pi-gcc-binary/

接着添加编译路径及建立链接:

$ echo 'export PATH=/opt/gcc-10.1.0/bin:$PATH' >> ~/.bashrc
$ echo 'export LD_LIBRARY_PATH=/opt/gcc-10.1.0/lib:$LD_LIBRARY_PATH' >> ~/.bashrc

运行一下,让当前控制台起作用:
$ . ~/.bashrc

$ sudo ln -s /usr/include/arm-linux-gnueabihf/sys /usr/include/sys
$ sudo ln -s /usr/include/arm-linux-gnueabihf/bits /usr/include/bits
$ sudo ln -s /usr/include/arm-linux-gnueabihf/gnu /usr/include/gnu
$ sudo ln -s /usr/include/arm-linux-gnueabihf/asm /usr/include/asm
$ sudo ln -s /usr/lib/arm-linux-gnueabihf/crti.o /usr/lib/crti.o
$ sudo ln -s /usr/lib/arm-linux-gnueabihf/crt1.o /usr/lib/crt1.o
$ sudo ln -s /usr/lib/arm-linux-gnueabihf/crtn.o /usr/lib/crtn.o

运行g++ 10.1版本,并显示:
$ g++-10.1 --version

可以在VS2019里配置这个版本支持,因为在树莓派里安装目录如下:

所以路径要这样设置:

这样就可以调用g++-10.1版本来编译C++的代码。

在树莓派里测试一下C++17的代码:

#include <iostream>int main() {// if block with init-statement:if(int a = 5; a < 8) {std::cout << "Local variable a is < 8\n";} else {std::cout << "Local variable a is >= 8\n";}return 0;
}
$ g++-10.1 -std=c++17 -Wall -pedantic if_test.cpp -o if_test

输出结果完全正确。

让树莓派支持C++17开发相关推荐

  1. 树莓派支持uvi协议吗_树莓派开发笔记(十一):蓝牙的使用,BlueZ协议(双树莓探测rssi并通过蓝牙互传获取的rssi)...

    前话 接下来介绍树莓派蓝牙模块的开发,使用的协议为bluez. ssh远程登录到树莓派 Demo:蓝牙探测信号rssi强度,并发送给服务器 客户端bob,服务器alice,探测两方的rssi,并传送给 ...

  2. [置顶]树莓派Android Things物联网开发:入门及资料汇总

    [转载请注明出处: http://blog.csdn.net/leytton/article/details/77848430] <树莓派Android Things物联网开发>系列文章专 ...

  3. iar stm32_树莓派玩转STM32开发(一)——介绍篇

    01 - 树莓派 树莓派(Raspberry Pi)听起来让人流口水,但它的确不是吃的(身为非吃货的我第一次也以为它是食物--).树莓派是基于ARM架构的Linux卡片电脑,由英国树莓派基金会开发,目 ...

  4. 树莓派Raspberry Pico RP2040 开发环境配置完全缝合终极版C-SDK

    树莓派Raspberry Pico RP2040 开发环境配置骨灰版 总览目录 树莓派Raspberry Pico RP2040 开发环境配置骨灰版 前置说明 0.1 关于调试使用的Debugger ...

  5. 02 QEMU默认支持的所有开发板、芯片列表

    QEMU默认支持的所有开发板.芯片列表 作者 日期 将狼才鲸 2021-11-12 所属的Gitee源码和工程地址:才鲸嵌入式 / 开源安防摄像机(嵌入式软件) 一.QEMU相关文档 QEMU官方文档 ...

  6. 基于树莓派的 Android Things 开发环境

    树莓派(Raspberry Pi)简介 树莓派是一款单片机式微型电脑,在一个只有信用卡大小的 PCB 板上集成了 CPU.GPU.RAM.网卡等设备,主要用于计算机学习以及智能设备的原型开发,目前最新 ...

  7. 树莓派4b入门之开发RFID系统—简介、搭建MFRC522-SPI环境

    树莓派4b入门之开发RFID系统-简介.搭建MFRC522-SPI环境 一.系统简介 二.模块连接 1.引脚定义 2.接口对应关系 三.搭建接口环境 1.开启SPI 2.模块功能设计 3.安装SPI ...

  8. 树莓派能做Linux开发板,balenaFin:兼容树莓派计算模块的开发板,

    balenaFin:兼容树莓派计算模块的开发板, balenaFin 是一款兼容树莓派计算模块的底板,给树莓派用于产品设计和研发提供解决方案.目前 balenaFin 支持树莓派 CM3 和 CM3+ ...

  9. 树莓派Android Things物联网开发:创建一个Things项目

    [转载请注明出处:http://blog.csdn.net/leytton/article/details/77854144] <树莓派Android Things物联网开发>系列文章专栏 ...

最新文章

  1. 放弃“for循环”,教你用这种算法 !(附代码)
  2. 公司-弹出页回调之后加载页面
  3. 如何将空目录添加到Git存储库?
  4. 2018-06-02笔记
  5. 【攻防世界019】SignIn
  6. MongoDB分布式操作——分片操作
  7. 内存管理简介之Buddy算法和slab分配
  8. 发掘Apache Camel的力量
  9. 10-Linux与windows文件互传-pscp坑---- 'pscp' 不是内部或外部命令,也不是可运行的程序或批处理文件...
  10. 软件测试之软件开发模型
  11. matlab库存点仿真教程,MATLAB Simulink 汽车整车动力总成仿真 视频教程
  12. Grasshopper 0.9汉化版下载 【Rhino5.0参数化插件】
  13. js 获取窗口高度 兼容 各种浏览器
  14. 机器学习——模型融合
  15. java读取xml转json
  16. 【PMP】变更流程图与说明
  17. Pygame自动播放下一条音频
  18. 如何知道计算机显卡内存,如何查看显卡显存_如何查看显卡显存占用
  19. java ip 国家_java通过ip获取用户所在国家 | 学步园
  20. Java:JSON扁平化和去扁平化

热门文章

  1. 阿里星球给四爷办了场歌友会,诠释音乐极客精神?
  2. 什么是变量,什么是类型?
  3. 全职奶爸入职软件测试,薪资8.5K+绩效
  4. 一道反证法证明极限无穷大题目
  5. 吃瓜进行时(西瓜书南瓜书啃读)
  6. Linux批量拉黑ip,在Linux下实现批量屏蔽IP地址的方法
  7. 从“测试方子”到“斜杠方子”
  8. 满足用户的即时需求,金融云的效率优先与生态开放
  9. python学习之小小爬虫
  10. JavaScript 简易画板