-
Notifications
You must be signed in to change notification settings - Fork 62
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Default PCL shipped with ROS Noetic is incompatible with the PCL interface usage in the CMakeLists #33
Comments
This may be relevant: PointCloudLibrary/pcl#3341 |
Dealing with old PCL is always tough... Fortunately, Note that small_gicp's PCL interface ( |
Yep. The latter could perhaps be fixed by something on the lines of #include <pcl/pcl_config.h>
#if PCL_VERSION_COMPARE(<, 1, 11, 0)
typedef shared_ptr boost::shared_ptr
#else
typedef shared_ptr std::shared_ptr
#endif
and then just use |
@nkhedekar That's a pretty nice solution, bro! |
add to which file? |
|
@zhao-zhibo You'd probably want to put it in https://github.com/koide3/small_gicp/blob/master/include/small_gicp/pcl/pcl_point.hpp |
|
I solved the problem and it ended up being him installing the latest version of pcl by uninstalling the older version. @zhangxu0089 @nkhedekar |
@zhao-zhibo Did you meet any issues when you uninstalled pcl1.10 and reinstalled pcl1.11? Because I use ubuntu2004 and ROS noetic is supported by pcl1.10, I cannot compile ROS project if I uninstalled pcl1.10. If I clearify the location and version of PCL in CMAKELISTS.txt, the message showed that I used 1.11. But, when I printed out PCL_VERSION_PRETTY in my code, it still showed 1.10. I am very confused. |
Is there any solution to this without upgrading the PCL? |
@YixFeng @ardavan34 I suggest you force cmake to find pcl version higher than 1.11 or 1.12 in cmakelist, so that the built-in 1.10 version will not be called. This also has an advantage that the built-in version and the newly installed version can coexist on ubuntu20.04. You can refer to my commit below. zhao-zhibo@a523318 |
Error Log
Click here for full output
1.740 CMake Error at CMakeLists.txt:62 (set_target_properties): 1.740 Property INTERFACE_LINK_LIBRARIES may not contain link-type keyword 1.740 "optimized". The INTERFACE_LINK_LIBRARIES property may contain 1.740 configuration-sensitive generator-expressions which may be used to specify 1.740 per-configuration rules.
Steps to reproduce
ros-noetic-pcl-ros
in the packages to be installed in the dockerfile.-DBUILD_WITH_PCL=ON
flagros:noetic
imageThe text was updated successfully, but these errors were encountered: