back_end:C++ ,g++

我也碰到这个问题,试着用以下方法解决:

aptitude可以比apt-get更加智能地解决依赖问题,先安装它:
sudo apt-get install aptitude

使用aptitude:
sudo aptitude install build-essential


作者:知乎用户
链接:https://www.zhihu.com/question/35133998/answer/86312469
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。



大多数Linux系统管理员和工程师需要知道一些基本编程,以帮助他们完成日常任务。 如果他们想更进一步进入开发领域,以及(或者作为内核或应用程序员),那么CC ++是最好的地方开始。

安装C,C ++编译器和构建必备工具

安装C,C ++编译器和构建必备工具

另请阅读 在RHEL / CentOS的/ Fedora的安装C,C ++和开发工具

在这篇文章中,我们将介绍如何安装CC ++编译器,它的开发工具建立必要的 )相关的软件包,如化妆,的libc-dev的话,dpkg-dev的,等在Debian和衍生物,如UbuntuLinux Mint的

构建必要的软件包含软件这被视为重要的建设Debian软件包包括gcc编译器,使和其他所需的工具的信息列表。

什么是编译器?

简单来说,编译器是一个软件程序,它处理用编程语言编写的指令,并创建一个二进制文件,机器的CPU可以理解和执行。

在基于Debian的发行版,其中最知名的CC ++编译器分别为gccg ++。 这两个程序进行了开发和由自由软件基金会通过GNU项目仍然保持着。

安装C,C ++编译器和开发工具(build-essential)

如果您的系统没有安装在您的系统默认的build-essential包,可以如下安装从默认分配库最新版本:

# apt-get update && apt-get install build-essential     
OR
$ sudo get update && apt-get install build-essential

点云的欧氏距离聚类是一种将点云中的点按照欧氏距离进行聚类的方法。PCL(Point Cloud Library)是一个强大的点云处理库,提供了各种点云处理和分析的算法。以下是一个使用 PCL C++库进行点云欧氏距离聚类的示例: ```c++ #include <iostream> #include <pcl/point_types.h> #include <pcl/io/pcd_io.h> #include <pcl/visualization/pcl_visualizer.h> #include <pcl/filters/extract_indices.h> #include <pcl/segmentation/progressive_morphological_filter.h> #include <pcl/segmentation/extract_clusters.h> int main(int argc, char** argv) { // 加载点云数据 pcl::PointCloud<pcl::PointXYZ>::Ptr cloud(new pcl::PointCloud<pcl::PointXYZ>); pcl::io::loadPCDFile<pcl::PointXYZ>("sample.pcd", *cloud); // 欧氏距离聚类 pcl::search::KdTree<pcl::PointXYZ>::Ptr tree(new pcl::search::KdTree<pcl::PointXYZ>); tree->setInputCloud(cloud); std::vector<pcl::PointIndices> cluster_indices; pcl::EuclideanClusterExtraction<pcl::PointXYZ> ec; ec.setClusterTolerance(0.02); // 设置聚类的欧氏距离阈值 ec.setMinClusterSize(100); // 设置聚类的最小点数 ec.setMaxClusterSize(25000); // 设置聚类的最大点数 ec.setSearchMethod(tree); ec.setInputCloud(cloud); ec.extract(cluster_indices); // 执行聚类操作 // 可视化聚类结果 pcl::visualization::PCLVisualizer viewer("Cluster viewer"); viewer.setBackgroundColor(0, 0, 0); // 背景色设为黑色 int cluster_color[6][3] = {{255, 0, 0}, {0, 255, 0}, {0, 0, 255}, {255, 255, 0}, {0, 255, 255}, {255, 0, 255}}; // 定义不同聚类的颜色 int cluster_id = 0; for (auto it = cluster_indices.begin(); it != cluster_indices.end(); ++it) { pcl::PointCloud<pcl::PointXYZ>::Ptr cloud_cluster(new pcl::PointCloud<pcl::PointXYZ>); for (auto pit = it->indices.begin(); pit != it->indices.end(); ++pit) cloud_cluster->points.push_back(cloud->points[*pit]); // 将聚类的点放入一个点云中 cloud_cluster->width = cloud_cluster->points.size(); cloud_cluster->height = 1; cloud_cluster->is_dense = true; // 绘制聚类结果 pcl::visualization::PointCloudColorHandlerCustom<pcl::PointXYZ> cluster_color_handler(cloud_cluster, cluster_color[cluster_id % 6][0], cluster_color[cluster_id % 6][1], cluster_color[cluster_id % 6][2]); viewer.addPointCloud(cloud_cluster, cluster_color_handler, "cluster_" + std::to_string(cluster_id)); viewer.setPointCloudRenderingProperties(pcl::visualization::PCL_VISUALIZER_POINT_SIZE, 1, "cluster_" + std::to_string(cluster_id)); ++cluster_id; } while (!viewer.wasStopped()) viewer.spinOnce(); return 0; } ``` 在上述代码中,我们先使用 `pcl::io::loadPCDFile` 函数加载点云数据。接着,我们使用 `pcl::EuclideanClusterExtraction` 算法进行欧氏距离聚类。可以通过 `setClusterTolerance`、`setMinClusterSize` 和 `setMaxClusterSize` 函数分别设置聚类的欧氏距离阈值、最小点数和最大点数。最后,我们使用 `pcl::visualization::PCLVisualizer` 可视化聚类结果。 注意,在使用 PCL 进行点云处理时,需要在编译时链接 PCL 库。在 Ubuntu 系统上,可以使用以下命令安装 PCL 库: ``` sudo apt-get install libpcl-dev ``` 在编译时,需要将 PCL 库链接到程序中。例如,可以使用以下命令编译上述代码: ``` g++ cluster.cpp -o cluster -l pcl_io -l pcl_visualization -l pcl_filters -l pcl_segmentation ``` 其中,`-l pcl_io`、`-l pcl_visualization`、`-l pcl_filters` 和 `-l pcl_segmentation` 分别表示链接 PCL 库中的 `pcl_io`、`pcl_visualization`、`pcl_filters` 和 `pcl_segmentation` 模块。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值