我正在将我的包从 ros melodic 迁移到 ros noetic。在执行此操作时,我在 cmake 期间在 PCL 库中出现编译错误。包太大了,我给出了一些发生错误的代码。任何指导都会有所帮助。这是 myfile.cpp
std::vector<bool> ignore_labels;
ignore_labels.resize(2);
ignore_labels[0] = true;
ignore_labels[1] = false;
//TODO commented that out i think we have to fix the error
ecc->setExcludeLabels(ignore_labels);
'''
这是它在ecc->setExcludeLabels(ignore_labels)行调用的 PCL-1.10 库文件;这里发生错误,
''' brief 在标签云中设置标签以排除。param[in] exclude_labels 一个布尔向量,对应于是否应考虑给定标签
void
setExcludeLabels (const std::vector<bool>& exclude_labels)
{
exclude_labels_ = boost::make_shared<std::set<std::uint32_t> > ();
for (std::size_t i = 0; i < exclude_labels.size (); ++i)
if (exclude_labels[i])
exclude_labels_->insert (i);
}
'''
错误是
/usr/include/pcl-1.10/pcl/segmentation/euclidean_cluster_comparator.h:256:13: 错误: 没有匹配函数调用'std::set::insert(std::size_t&) const' 256 | 排除标签_->插入(i);| ^~~~~~~~~~~~~~~ 在 /usr/include/c++/9/set:61 包含的文件中,