I am using apt::libpcl-dev with xmake.
# xmake.lua
add_rules("mode.debug","mode.release")
add_requires("apt::libpcl-dev", {configs = {vtk=true, system = true}})
set_project("homework1")
set_languages("c++20")
set_toolchains("gcc")
target("1_reading_pcd")
set_rundir("1_reading_pcd")
set_kind("binary")
add_packages("apt::libpcl-dev")
if is_plat("linux") then
add_syslinks("X11", "Xext", "Xft", "Xrender","Xcursor")
add_syslinks("gomp")
end
add_files("1_reading_pcd/*.cpp")
The error translated to English is belowing with excuting xmake. But I can confirm I have installed libpcl-dev.
* Tasking: xmake
[ 47%]: linking.release 1_reading_pcd
error: /usr/bin/ld: Can't find -lpcl_in_hand_scanner: No such file or directory.
/usr/bin/ld: Can't find -lpcl_modeler: No such file or directory.
/usr/bin/ld: Can't find -lpcl_point_cloud_editor: No such file or directory.
collect2: error: ld returned 1 exit status
And I try to find these lib whether they exist in my system. Belowing is return, and exactly they don't exist.
$ dpkg -l | grep pcl
ii libpcl-apps1.15:amd64 1.15.0+dfsg-2 amd64 Point Cloud Library - apps library
ii libpcl-common1.15:amd64 1.15.0+dfsg-2 amd64 Point Cloud Library - common library
ii libpcl-conversions-dev:amd64 1.7.5-2+b2 amd64 Robot OS library to convert from/to PCL data types
ii libpcl-dev 1.15.0+dfsg-2 amd64 Point Cloud Library - development files
ii libpcl-doc 1.15.0+dfsg-2 all Point Cloud Library - documentation
ii libpcl-features1.15:amd64 1.15.0+dfsg-2 amd64 Point Cloud Library - features library
ii libpcl-filters1.15:amd64 1.15.0+dfsg-2 amd64 Point Cloud Library - filters library
ii libpcl-io1.15:amd64 1.15.0+dfsg-2 amd64 Point Cloud Library - I/O library
ii libpcl-kdtree1.15:amd64 1.15.0+dfsg-2 amd64 Point Cloud Library - kdtree library
ii libpcl-keypoints1.15:amd64 1.15.0+dfsg-2 amd64 Point Cloud Library - keypoints library
ii libpcl-ml1.15:amd64 1.15.0+dfsg-2 amd64 Point Cloud Library - ml library
ii libpcl-msgs-dev 0.3.0-4 amd64 C/C++ headers for PCL-related Robot OS Messages
ii libpcl-octree1.15:amd64 1.15.0+dfsg-2 amd64 Point Cloud Library - octree library
ii libpcl-outofcore1.15:amd64 1.15.0+dfsg-2 amd64 Point Cloud Library - outofcore library
ii libpcl-people1.15:amd64 1.15.0+dfsg-2 amd64 Point Cloud Library - people library
ii libpcl-recognition1.15:amd64 1.15.0+dfsg-2 amd64 Point Cloud Library - recognition library
ii libpcl-registration1.15:amd64 1.15.0+dfsg-2 amd64 Point Cloud Library - registration library
ii libpcl-ros-dev:amd64 1.7.5-2+b2 amd64 Bridge between Robot OS library (ROS) and PCL - development headers
ii libpcl-ros-features0t64:amd64 1.7.5-2+b2 amd64 Bridge between Robot OS library (ROS) and PCL - features library
ii libpcl-ros-filter1t64:amd64 1.7.5-2+b2 amd64 Bridge between Robot OS library (ROS) and PCL - filter library
ii libpcl-ros-filters0t64:amd64 1.7.5-2+b2 amd64 Bridge between Robot OS library (ROS) and PCL - filters library
ii libpcl-ros-io0t64:amd64 1.7.5-2+b2 amd64 Bridge between Robot OS library (ROS) and PCL - io library
ii libpcl-ros-segmentation0t64:amd64 1.7.5-2+b2 amd64 Bridge between Robot OS library (ROS) and PCL - segmentation library
ii libpcl-ros-surface0t64:amd64 1.7.5-2+b2 amd64 Bridge between Robot OS library (ROS) and PCL - surface library
ii libpcl-ros-tf1t64:amd64 1.7.5-2+b2 amd64 Bridge between Robot OS library (ROS) and PCL - tf library
ii libpcl-sample-consensus1.15:amd64 1.15.0+dfsg-2 amd64 Point Cloud Library - sample consensus library
ii libpcl-search1.15:amd64 1.15.0+dfsg-2 amd64 Point Cloud Library - search library
ii libpcl-segmentation1.15:amd64 1.15.0+dfsg-2 amd64 Point Cloud Library - segmentation library
ii libpcl-stereo1.15:amd64 1.15.0+dfsg-2 amd64 Point Cloud Library - stereo library
ii libpcl-surface1.15:amd64 1.15.0+dfsg-2 amd64 Point Cloud Library - surface library
ii libpcl-tracking1.15:amd64 1.15.0+dfsg-2 amd64 Point Cloud Library - tracking library
ii libpcl-visualization1.15:amd64 1.15.0+dfsg-2 amd64 Point Cloud Library - visualization library
ii pcl-tools 1.15.0+dfsg-2 amd64 Point Cloud Library - point cloud processing tools
And I also tried to using xrepo to download pcl source code, compile and install (using pcl to replace apt::libpcl-dev in xmake.lua). It actually works.
I expecting that after downloading libpcl-dev system should have these libraries(including libpcl_in_hand_scanner.so, libpcl_modeler.so and libpcl_point_cloud_editor.so), don't let user download source code to compile(although it is a good habit)