ZJU-FAST-Lab / ego-planner-swarm

An efficient single/multi-agent trajectory planner for multicopters.
GNU General Public License v3.0
1.2k stars 231 forks source link

Random forest compile error #41

Closed Lr-2002 closed 1 year ago

Lr-2002 commented 1 year ago
#### Running command: "make -j1" in "/home/lr-2002/code/ego-planner-swarm/build"
####
[  0%] Built target _quadrotor_msgs_generate_messages_check_deps_StatusData
[  0%] Built target geometry_msgs_generate_messages_py
[  0%] Built target nav_msgs_generate_messages_py
[  0%] Built target _quadrotor_msgs_generate_messages_check_deps_Odometry
[  0%] Built target _quadrotor_msgs_generate_messages_check_deps_LQRTrajectory
[  0%] Built target _quadrotor_msgs_generate_messages_check_deps_AuxCommand
[  0%] Built target _quadrotor_msgs_generate_messages_check_deps_Corrections
[  0%] Built target _quadrotor_msgs_generate_messages_check_deps_Gains
[  0%] Built target _quadrotor_msgs_generate_messages_check_deps_OutputData
[  0%] Built target _quadrotor_msgs_generate_messages_check_deps_PositionCommand
[  0%] Built target _quadrotor_msgs_generate_messages_check_deps_PPROutputData
[  0%] Built target _quadrotor_msgs_generate_messages_check_deps_Serial
[  0%] Built target _quadrotor_msgs_generate_messages_check_deps_PolynomialTrajectory
[  0%] Built target _quadrotor_msgs_generate_messages_check_deps_SO3Command
[  0%] Built target _quadrotor_msgs_generate_messages_check_deps_TRPYCommand
[  7%] Built target quadrotor_msgs_generate_messages_py
[  7%] Built target nav_msgs_generate_messages_nodejs
[  7%] Built target geometry_msgs_generate_messages_nodejs
[ 14%] Built target quadrotor_msgs_generate_messages_nodejs
[ 14%] Built target nav_msgs_generate_messages_cpp
[ 14%] Built target geometry_msgs_generate_messages_cpp
[ 22%] Built target quadrotor_msgs_generate_messages_cpp
[ 22%] Built target nav_msgs_generate_messages_eus
[ 22%] Built target geometry_msgs_generate_messages_eus
[ 29%] Built target quadrotor_msgs_generate_messages_eus
[ 29%] Built target nav_msgs_generate_messages_lisp
[ 29%] Built target geometry_msgs_generate_messages_lisp
[ 36%] Built target quadrotor_msgs_generate_messages_lisp
[ 36%] Built target quadrotor_msgs_generate_messages
[ 37%] Built target encode_msgs
[ 38%] Built target decode_msgs
[ 38%] Linking CXX executable /home/lr-2002/code/ego-planner-swarm/devel/lib/map_generator/random_forest
/usr/bin/ld: CMakeFiles/random_forest.dir/src/random_forest_sensing.cpp.o: in function `RandomMapGenerateCylinder()':
/home/lr-2002/code/ego-planner-swarm/src/uav_simulator/map_generator/src/random_forest_sensing.cpp:269: undefined reference to `pcl::KdTreeFLANN<pcl::PointXYZ, flann::L2_Simple<float> >::setInputCloud(boost::shared_ptr<pcl::PointCloud<pcl::PointXYZ> const> const&, boost::shared_ptr<std::vector<int, std::allocator<int> > const> const&)'
/usr/bin/ld: CMakeFiles/random_forest.dir/src/random_forest_sensing.cpp.o: in function `RandomMapGenerate()':
/home/lr-2002/code/ego-planner-swarm/src/uav_simulator/map_generator/src/random_forest_sensing.cpp:152: undefined reference to `pcl::KdTreeFLANN<pcl::PointXYZ, flann::L2_Simple<float> >::setInputCloud(boost::shared_ptr<pcl::PointCloud<pcl::PointXYZ> const> const&, boost::shared_ptr<std::vector<int, std::allocator<int> > const> const&)'
/usr/bin/ld: CMakeFiles/random_forest.dir/src/random_forest_sensing.cpp.o:(.data.rel.ro._ZTVN3pcl11KdTreeFLANNINS_8PointXYZEN5flann9L2_SimpleIfEEEE[_ZTVN3pcl11KdTreeFLANNINS_8PointXYZEN5flann9L2_SimpleIfEEEE]+0x10): undefined reference to `pcl::KdTreeFLANN<pcl::PointXYZ, flann::L2_Simple<float> >::setInputCloud(boost::shared_ptr<pcl::PointCloud<pcl::PointXYZ> const> const&, boost::shared_ptr<std::vector<int, std::allocator<int> > const> const&)'
/usr/bin/ld: CMakeFiles/random_forest.dir/src/random_forest_sensing.cpp.o:(.data.rel.ro._ZTVN3pcl11KdTreeFLANNINS_8PointXYZEN5flann9L2_SimpleIfEEEE[_ZTVN3pcl11KdTreeFLANNINS_8PointXYZEN5flann9L2_SimpleIfEEEE]+0x28): undefined reference to `pcl::KdTreeFLANN<pcl::PointXYZ, flann::L2_Simple<float> >::nearestKSearch(pcl::PointXYZ const&, int, std::vector<int, std::allocator<int> >&, std::vector<float, std::allocator<float> >&) const'
collect2: error: ld returned 1 exit status
make[2]: *** [uav_simulator/map_generator/CMakeFiles/random_forest.dir/build.make:244:/home/lr-2002/code/ego-planner-swarm/devel/lib/map_generator/random_forest] 错误 1
make[1]: *** [CMakeFiles/Makefile2:2719:uav_simulator/map_generator/CMakeFiles/random_forest.dir/all] 错误 2
make: *** [Makefile:141:all] 错误 2
Invoking "make -j1" failed

"catkin_make -j1"出错如上 从log看应该是pcl_flann的问题 我已经尝试过apt 删除重新安装,但是结果同样不行

现在电脑上有 flann和pcl以及和ros的连接

我找不到原因了,会是版本的问题吗? pcl 是 1.10 libflann-dev 是1.9.1

Lr-2002 commented 1 year ago

问题已经解决了,我不清楚是什么导致的,可能是版本问题,或者是hpp和h等原因

解决办法就是把报错文件中的include改成

#include<pcl/search/impl/kdtree.hpp>
#include<pcl/kdtree/impl/kdtree_flann.hpp>

必须用到impl才能够编译完成

参考资料:https://stackoverflow.com/questions/44253353/linker-errors-with-pcl-1-8-0-project