pcl 中/usr/bin/ld: 找不到 -lFLANN::FLANN

最近在运行pcl官网的 Cluster Recognition and 6DOF Pose Estimation using VFH descriptors 程序时,分别在cmake …和 make的过程中出现了以下警告和错误:

cmake …后
pcl 中/usr/bin/ld: 找不到 -lFLANN::FLANN_第1张图片
make 后
pcl 中/usr/bin/ld: 找不到 -lFLANN::FLANN_第2张图片

解决方案:

询问了师兄后,师兄说这个版本和他之前的版本不太一样,可能是对应着pcl 1.9,所以从网上找了一版之前的版本进行调试。
链接如下:https://blog.csdn.net/shengxiamei/article/details/47132511

将其中的CMakeLists.txt文件进行了改动find_package(PCL 1.8 REQUIRED)后,运行,发现出现出现以下错误:
在cmake …后提示
pcl 中/usr/bin/ld: 找不到 -lFLANN::FLANN_第3张图片
make后提示
pcl 中/usr/bin/ld: 找不到 -lFLANN::FLANN_第4张图片

其中/usr/lib/libmpi_cxx.so.1: error adding symbols: DSO missing from command line
collect2: error: ld returned 1 exit status 提示后根据师兄之前的解决方案,修改了CMakeLists.txt文件下面部分:
添加了 libmpi_cxx.so这句话

add_executable(build_tree build_tree.cpp)
target_link_libraries(build_tree ${PCL_LIBRARIES} ${Boost_LIBRARIES}
${FLANN_LIBRARIES} ${HDF5_hdf5_LIBRARY} libmpi_cxx.so)
 
add_executable(nearest_neighbors nearest_neighbors.cpp)
target_link_libraries(nearest_neighbors ${PCL_LIBRARIES}
${Boost_LIBRARIES} ${FLANN_LIBRARIES} ${HDF5_hdf5_LIBRARY} libmpi_cxx.so
)

在这里插入图片描述
发现编译通过了,然后执行官网上的
首先转到build目录下,进行执行操作

$ ./build/build_tree data/

pcl 中/usr/bin/ld: 找不到 -lFLANN::FLANN_第5张图片
运行

./nearest_neighbors -k 16 -thresh 50 data/000.580.67/1258730231333_cluster_
0_nxyz_vfh.pcd

pcl 中/usr/bin/ld: 找不到 -lFLANN::FLANN_第6张图片

按官网上建立bash文件运行
其中修改./build/nearest_neighbors -k $k -thresh $thresh $j -cam
为./nearest_neighbors -k $k -thresh $thresh $j -cam
pcl 中/usr/bin/ld: 找不到 -lFLANN::FLANN_第7张图片

你可能感兴趣的:(填坑,PCL)