当我将PCL版本从1.13.0升级到1.13.1时,可能意味着引用计数错误导致资源释放出现问题

问题描述 投票:0回答:1

当我将PCL版本从1.13.0升级到1.13.1时,运行以下代码并返回时会抛出异常。大概意思是引用计数错误导致资源释放出现问题。 代码是:

using FrCloud = pcl::PointCloud<pcl::PointXYZI>;
using FrPointType =  pcl::PointXYZI;
using FrCloudPtr = pcl::PointCloud<pcl::PointXYZI>::Ptr;

int run()
{
 FrCloudPtr myCurrentClouds;
 myCurrentClouds = myCameraClouds[myCameraWorkList.front()];
 FrCloudPtr filter_clouds(new FrCloud);

 pcl::PassThrough<FrPointType> ptfilter(true);
 ptfilter.setInputCloud(myCurrentClouds);
 ptfilter.setFilterFieldName("x");
 ptfilter.setFilterLimits(myPassFilterParams.minDistanceX, myPassFilterParams.maxDistanceX);
 ptfilter.setKeepOrganized(myKeepOrganized);
 ptfilter.filter(*filter_clouds);

 ArLog::log(ArLog::Normal, "passthrough filter: %ld [msec]", tm.mSecSince());
 return 0;
}

函数返回时抛出异常:

    void _Destroy() noexcept override { // destroy managed resource
        _Destroy_in_place(_Storage._Value);
    }

我看不出这段代码有什么问题,那么是什么原因导致它抛出异常呢?

3d pcl
1个回答
0
投票

我的环境: 操作系统:Windows 11 Visual sutdio:Microsoft Visual Studio Community 2022(64 位)- 当前版本 17.7.3 pcl:PCL-1.13.1-AllInOne-msvc2022-win64.exe 我是通过安装包安装PCL库,然后通过cmakelist链接PCL lib。 cmakelist代码如下: 宏(setpcl) 设置(PCL_DIR ${PCL_ROOT}/cmake/PCLConfig.cmake) find_package(需要 PCL 1.13.1) include_directories(${PCL_INCLUDE_DIRS}) 链接目录(${PCL_LIBRARY_DIRS}) add_definitions(${PCL_DEFINITIONS}) 结束宏()

debug

debug

© www.soinside.com 2019 - 2024. All rights reserved.