【树莓派中编写python、c++推荐使用的编译器】

Python 目前使用的是OpenCV4为什么import cv2

openCV1:c语言编写
OpenCV2-4 :C++编写
**Python中,import cv2 可能是 CV2、CV3、CV4

Python版本的Opencv 不能看到底层的C++,Opencv 还提供了c#等接口

Opencv 推荐用什么IDE

工程师Cmake 构建的,应选支持Cmake工程的IDE,linux下,推荐用Qt Creator ,Qt 出了采用Cmake构建Opencv工程,还支持qmake构建工程;支持底层函数跳转,方便算法移植和工作

开发opencv 使用IDE开发提高效率

Python:Thonny Python IDE

在这里插入图片描述

C++: Qt Creator

-方便添加依赖,同时支持跳转底层代码,开发与研究两不误。

  • 结合Qt自带的UI界面,方便做成桌面应用
  • 支持树莓派自带的bmc2835,wiringPi等库,方便进行的层开发
  • 结合c++的特点,向上支持应用开发,向下支持底层开发

查看Qt的版本

apt-cache show qt5-default

在这里插入图片描述
安装Qt

sudo apt-get install qtcreator -y

sudo apt-get install qtcreator -y 是一个在终端中运行的命令,用于在Linux系统中使用APT包管理器安装Qt Creator软件。

让我逐步解释这个命令的不同部分的含义:

  • sudo:这是一个特殊的命令,在Linux中以超级用户(root)的身份执行后续命令。使用sudo可以获得足够的权限来安装软件包或执行其他需要更高权限的操作。

  • apt-get:这是Linux下最常用的APT包管理器命令之一。它用于在Debian、Ubuntu及其衍生版的系统中安装、更新和删除软件包。

  • install:这是apt-get命令的一个操作选项,该选项告诉APT包管理器要安装指定的软件包。

  • qtcreator:这是要安装的软件包的名称。在这种情况下,我们希望安装的软件包是Qt Creator。

  • -y:这是apt-get命令的另一个操作选项,也称为自动确认选项。-y选项告诉APT在安装软件包时自动确认所有问题,而不需要用户手动输入确认。这样,安装过程将自动继续,而无需用户干预。

因此,sudo apt-get install qtcreator -y命令的完整含义是以超级用户(root)的身份,使用APT包管理器以自动确认方式安装Qt Creator软件包。这使得安装过程比较简单,不需要用户的交互操作。

查看G++ 版本

/usr/bin/g++ --version

在这里插入图片描述

配置Qt C++ 编译环境

工具->选项->编译和执行
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

修改后
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
以下是一个简单的C++代码,用于输出"Hello World"到控制台:

#include <iostream>

int main() {
    std::cout << "Hello World" << std::endl;
    return 0;
}

这段代码使用了iostream头文件中的std命名空间中的cout对象来输出文本。<< 运算符用于将文本插入到cout输出流中。在这个例子中,我们在控制台打印了"Hello World",然后使用std::endl来插入换行符,以确保输出换行。

main()函数是C++程序的入口点,代码从这里开始执行。程序执行完成后,返回0表示成功执行。

你可以将这段代码保存在一个以.cpp为扩展名的文件中,比如hello.cpp。然后,使用C++编译器编译并运行它,即可在控制台看到"Hello World"的输出。

以下是使用using namespace声明的修改后的代码:

#include <iostream>

using namespace std;

int main() {
    cout << "Hello World" << endl;
    return 0;
}

通过加入using namespace std;语句,我们可以直接使用cout、endl等对象和函数,而无需使用std::前缀。这样可以使代码更加简洁和易读。

请注意,使用using namespace语句会引入整个std命名空间中的所有内容。尽管在简单的示例中这样做是可以的,但在大型项目中,可能需要避免全局的命名空间污染,以避免可能的名称冲突。在大型项目中,通常更好的做法是使用std::前缀来显式指定所需的std组件。

  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值