让树莓派支持C++17开发
时间不断地流逝,到目前已经是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开发相关推荐
- 树莓派支持uvi协议吗_树莓派开发笔记(十一):蓝牙的使用,BlueZ协议(双树莓探测rssi并通过蓝牙互传获取的rssi)...
前话 接下来介绍树莓派蓝牙模块的开发,使用的协议为bluez. ssh远程登录到树莓派 Demo:蓝牙探测信号rssi强度,并发送给服务器 客户端bob,服务器alice,探测两方的rssi,并传送给 ...
- [置顶]树莓派Android Things物联网开发:入门及资料汇总
[转载请注明出处: http://blog.csdn.net/leytton/article/details/77848430] <树莓派Android Things物联网开发>系列文章专 ...
- iar stm32_树莓派玩转STM32开发(一)——介绍篇
01 - 树莓派 树莓派(Raspberry Pi)听起来让人流口水,但它的确不是吃的(身为非吃货的我第一次也以为它是食物--).树莓派是基于ARM架构的Linux卡片电脑,由英国树莓派基金会开发,目 ...
- 树莓派Raspberry Pico RP2040 开发环境配置完全缝合终极版C-SDK
树莓派Raspberry Pico RP2040 开发环境配置骨灰版 总览目录 树莓派Raspberry Pico RP2040 开发环境配置骨灰版 前置说明 0.1 关于调试使用的Debugger ...
- 02 QEMU默认支持的所有开发板、芯片列表
QEMU默认支持的所有开发板.芯片列表 作者 日期 将狼才鲸 2021-11-12 所属的Gitee源码和工程地址:才鲸嵌入式 / 开源安防摄像机(嵌入式软件) 一.QEMU相关文档 QEMU官方文档 ...
- 基于树莓派的 Android Things 开发环境
树莓派(Raspberry Pi)简介 树莓派是一款单片机式微型电脑,在一个只有信用卡大小的 PCB 板上集成了 CPU.GPU.RAM.网卡等设备,主要用于计算机学习以及智能设备的原型开发,目前最新 ...
- 树莓派4b入门之开发RFID系统—简介、搭建MFRC522-SPI环境
树莓派4b入门之开发RFID系统-简介.搭建MFRC522-SPI环境 一.系统简介 二.模块连接 1.引脚定义 2.接口对应关系 三.搭建接口环境 1.开启SPI 2.模块功能设计 3.安装SPI ...
- 树莓派能做Linux开发板,balenaFin:兼容树莓派计算模块的开发板,
balenaFin:兼容树莓派计算模块的开发板, balenaFin 是一款兼容树莓派计算模块的底板,给树莓派用于产品设计和研发提供解决方案.目前 balenaFin 支持树莓派 CM3 和 CM3+ ...
- 树莓派Android Things物联网开发:创建一个Things项目
[转载请注明出处:http://blog.csdn.net/leytton/article/details/77854144] <树莓派Android Things物联网开发>系列文章专栏 ...
最新文章
- 放弃“for循环”,教你用这种算法 !(附代码)
- 公司-弹出页回调之后加载页面
- 如何将空目录添加到Git存储库?
- 2018-06-02笔记
- 【攻防世界019】SignIn
- MongoDB分布式操作——分片操作
- 内存管理简介之Buddy算法和slab分配
- 发掘Apache Camel的力量
- 10-Linux与windows文件互传-pscp坑---- 'pscp' 不是内部或外部命令,也不是可运行的程序或批处理文件...
- 软件测试之软件开发模型
- matlab库存点仿真教程,MATLAB Simulink 汽车整车动力总成仿真 视频教程
- Grasshopper 0.9汉化版下载 【Rhino5.0参数化插件】
- js 获取窗口高度 兼容 各种浏览器
- 机器学习——模型融合
- java读取xml转json
- 【PMP】变更流程图与说明
- Pygame自动播放下一条音频
- 如何知道计算机显卡内存,如何查看显卡显存_如何查看显卡显存占用
- java ip 国家_java通过ip获取用户所在国家 | 学步园
- Java:JSON扁平化和去扁平化