CMake是一个跨平台的开源构建系统生成器。它为构建系统生成文件,如本机makefile,ninja-build和几个集成开发环境的项目文件。
pcl::io::loadPCD/PLY 在使用 nvcc/cuda 编译时出现分段错误
#包括 #包括 #包括 #包括 #包括 #包括 #include <iostream> #include <pcl/io/pcd_io.h> #include <pcl/io/ply_io.h> #include <pcl/point_cloud.h> #include <pcl/console/parse.h> #include <pcl/common/transforms.h> #include <pcl/visualization/pcl_visualizer.h> int main(int argc, char* argv[]){ //pcl::PointCloud<pcl::PointXYZ>::Ptr s___(new pcl::PointCloud<pcl::PointXYZ>()); pcl::PointCloud<pcl::PointXYZ> s__; std::vector<int> filenames = pcl::console::parse_file_extension_argument(argc,argv,".pcd"); pcl::io::loadPCDFile(argv[filenames[0]], s__); return 0; } 无论是使用共享指针还是 PointCloud 对象本身,当程序(在运行时)点击“loadPCDfile”行时,我都会收到分段错误错误! 这是我单独使用 gcc 编译时没有出现错误的情况。为什么?附: > 我不想使用包装器 Ubuntu 18.04 个人计算机1.11 CUDA 11 海湾合作委员会7.5 特征值 3.7 cmake 是, cmake_minimum_required(VERSION 3.20.0) project(t LANGUAGES CXX CUDA) find_package(Eigen3 QUIET) find_package(PCL 1.11 REQUIRED) find_package(CUDA) include_directories(${PCL_INCLUDE_DIRS}) link_directories(${PCL_LIBRARY_DIRS}) add_definitions(${PCL_DEFINITIONS}) set_directory_properties(PROPERTIES COMPILE_DEFINITIONS "") set(CUDA_NVCC_FLAGS ${CUDA_NVCC_FLAGS};--ptxas-options=-v;-std=c++17) include_directories( ${PCL_INCLUDE_DIRS} ${CUDA_INCLUDE_DIRS} ${EIGEN3_INCLUDE_DIRS} ) if(NOT EIGEN3_FOUND) # Fallback to cmake_modules find_package(cmake_modules REQUIRED) find_package(Eigen REQUIRED) set(EIGEN3_INCLUDE_DIRS ${EIGEN_INCLUDE_DIRS}) set(EIGEN3_LIBRARIES ${EIGEN_LIBRARIES}) # Not strictly necessary as Eigen is head only # Possibly map additional variables to the EIGEN3_ prefix. else() set(EIGEN3_INCLUDE_DIRS ${EIGEN3_INCLUDE_DIR}) endif() add_executable (t t.cu) target_link_libraries(t ${CUDA_LIBRARIES} ${CUDA_CUBLAS_LIBRARIES} ${CUDA_curand_LIBRARY} ${PCL_LIBRARIES}) 然后,当制作可执行的 t.out 时,我有名为 map.pcd 的 pcd 文件 然后我就跑 ./t.out 地图.pcd 并且发生分段错误 我知道这是一个奇怪的问题,所以不太可能发生。但事实证明 .cu 文件中的 pcl::io::LoadPCD/PLY 就是这种情况。我使用问题部分提供的 cmake 尝试了近 10 次,但问题仍然存在。我在一位同事的帮助下找到了解决方案,我们正在向 pcl github 报告此错误。由于未知原因,您必须执行此操作才能读取 .cu 文件中的点云文件 pcd/ply,速度慢得多,但它可以工作。 pcl::PointCloud<pcl::PointXYZ>::Ptr source(new pcl::PointCloud<pcl::PointXYZ>()); pcl::PCLPointCloud2 cloud_blob; pcl::io::loadPCDfile("path/file.pcd", cloud_blob); pcl::fromPCLPointCloud2(cloud_blob, *source);
我对 ROS 和 Ubuntu 相当陌生。 我只是按照以下说明进行操作:https://pcl.readthedocs.io/en/latest/extract_indices.html 我在catkin中创建了一个名为Extract_Indices的新文件夹
编辑:更新了代码 我正在使用 PCL 库从点云生成网格。这是基于 PCL 文档中的贪心三角剖分教程的代码: #包括 #包括...
我的 UBUNTU 20.04 系统中有 2 个版本的 PCL,1.9 和 1.12。在一个项目中我想使用1.9版本但是 include_directories(${PCL_INCLUDE_DIRS}) 上面的行包括 pro 中的版本 1.12...
我正在使用 CMake 在 Windows 10 上构建一个 C++ 项目。该项目链接到 PCL 库和我自己的包 pcview,这两个包又依赖于 GLEW。顺便说一句,PCL 实际上不应该...
这是我第一次使用vcpkg安装PCL库。安装成功后使用 。u000bcpkg 安装 pcl 我尝试使用 vcpkg 集成安装来链接它,但没有成功。我正在使用 VS code...
我正在尝试使用这个github模板来建立一个项目。但是,当尝试查找依赖项时,我收到以下错误消息: catch2/2.13.7:在本地缓存中找不到,在 rem 中查找...
由于权限问题,CMake 测试编译在 docker 容器上失败
我有一个 gitlab CI 管道,它在 Windows docker 容器中构建我的软件,这工作得很好,直到我将 cpr 添加到我的项目中。 在 cpr 的配置步骤中,调用了 check_cxx_sourc...
链接选项插入在 CMakeLists(Intel OneAPI 编译器)中的 /link 关键字之前
由于 liburctd.lib 和 libmmt.lib 之间存在冲突,我收到链接器错误。为什么我会得到这个完全是另一个问题。 在试图弄清楚这一点时,我想看看是否只是设置 /
在以下项目结构中: 根/ ├─ CMakeLists.txt ├─ 协议/ │ ├─ msg.proto │ ├─ CMakeLists.txt ├─ 应用程序/ │ ├─ main.cpp │ ├─ CMakeLists.txt 我可以生成 protobuf 文件。然而...
如何在 CMake 项目中包含 ISPC 编译器生成的标头?
我正在使用 ISPC 编译 .ispc 文件并使用 CMake 将它们链接到我的 C++ 项目。 ISPC 的一个怪癖是它生成 C++ 代码要包含的头文件。为了方便
CMake 3.29 enable_language(CUDA) 未设置“CUDA_FOUND”变量
我在使用以下 CMake 配置启用 CUDA 时遇到了问题,它没有按预期工作: 不起作用的代码: cmake_minimum_required(版本3.29) 项目(演示)
如何使用 cmake add_custom_target 将 .tar.gz 中的所有文件提取到特定文件夹?
为了减小库大小,在cmake中使用cmake -E tar "zcvf" "lib.tar.gz" out.lib自动创建.tar.gz,然后将lib.tar.gz移动到文件夹f,即。 f/lib.tar.gz。 然而,要使用这个libra...
FLEX/BISON 在不同文件夹中生成 location.hh、position.hh、stack.hh
我有这样的文件夹结构 包括/ 源代码/ |解析器.yy |扫描仪.ll 并在 src/CMakeLists.txt 中: SET(BisonOutput ${CMAKE_SOURCE_DIR}/src/_parser.cpp) 如果(BISON_FOUND) ADD_CUSTOM_COM...
有人有 CMakeList.txt 文件的示例来编译一个简单的“hello world”英特尔 SGX 应用程序吗? GitHub 上有一些示例(如此处),但它们都是相当高级的应用程序...
我正在尝试将 CMAKE 设置为构建系统,所以对它还很陌生。在发布这个问题之前已经做了相当多的广泛研究,但我找不到答案。我一直在寻找...
自从4.8.0出来后,我重新安装了Qt,现在我也想使用cmake。为了使 cmake 工作,我记得必须将 mingw bin 文件夹(QtSDK\Desktop\Qt .7.3)添加到 Qt4.7.3 中的 PATH 中,所以我...
我在cygwin下使用cmake交叉编译嵌入式软件。现在我想编译所有 CUnit 测试计划并在寡妇上使用 CTest。 这样做我在我的
我在使用以下 CMake 配置启用 CUDA 时遇到了问题,它没有按预期工作: 不起作用的代码: cmake_minimum_required(版本3.29) 项目(演示)
适用于 macOS 的 CMake。如何根据我的默认 Xcode 框架设置 isysroot 变量
在我基于 CMake 的 macOS 项目中,未设置参数 CMAKE_OSX_SYSROOT ,我希望获得也在 Xcode 构建器中使用的默认框架: 即 /Applications/Xcode.app/Contents/Dev...