我遇到了PCL的问题:具体来说我想在现有的Makefiles项目中使用它。但是,PCL正在使用CMake,我无法找到如何直接将它添加到Makefile。有谁知道怎么做?
答案 0 :(得分:1)
首先尝试使用CMake编译PCL网站中提供的示例之一。 http://pointclouds.org/documentation/tutorials/pcl_visualizer.php
编译完上面的示例后,您将在目录中找到各种新文件和CMake创建的文件夹。
转到CMakeFiles / pcl_visualizer_demo.dir /。 打开名为link.txt的文件,其中包含终端命令,该命令具有动态链接到文件的各种pcl(点云库)。
命令应该类似于下面显示的命令
/usr/bin/c++ -O3 -Wno-deprecated -s CMakeFiles/pcl_visualizer_demo.dir -o pcl_visualizer_demo -rdynamic -lpcl_common -Wl,-Bstatic -lflann_cpp_s -Wl,-Bdynamic -lpcl_kdtree -lpcl_octree -lpcl_search -lqhull -lpcl_surface -lpcl_sample_consensus -lpcl_io -lpcl_filters -lpcl_features -lpcl_keypoints -lpcl_registration -lpcl_segmentation -lpcl_recognition -lpcl_visualization -lpcl_people -lpcl_outofcore -lpcl_tracking /usr/lib/libvtkGenericFiltering.so.5.8.0 /usr/lib/libvtkGeovis.so.5.8.0 /usr/lib/libvtkCharts.so.5.8.0 /usr/lib/libvtkViews.so.5.8.0 /usr/lib/libvtkInfovis.so.5.8.0 /usr/lib/libvtkWidgets.so.5.8.0
您可以直接在Makefile中包含这些库。
如果您使用不同的函数或pcl头文件,那么首先尝试使用CMake进行编译并将库链接起来并将其添加到上一个项目的Makefile中。
我为我的项目尝试了这种方法,这种方法非常好。我尝试pkg-config
链接库,这在我的情况下不起作用。我无法找到任何其他方法轻松链接所有必需的库。