zoukankan      html  css  js  c++  java
  • 03 PCL初探——基本使用流程

    01 PCL总体遵循cmake型框架的执行流程,基本流程归纳如下:

    工作环境(单独文件夹)下创建CMakeLists.txt文件以及.cpp文件(项目位于/PATH/TO/MY/GRAND/PROJECT路径下)

    cmake_minimum_required(VERSION 2.6 FATAL_ERROR)//cmake版本
    project(MY_GRAND_PROJECT)//项目命名
    find_package(PCL 1.3 REQUIRED COMPONENT common io)// PCL包及必需组件io
    include_directories(${PCL_INCLUDE_DIRS})//设置为PCL安装的标头和依赖标头的路径
    link_directories(${PCL_LIBRARY_DIRS})//设置为PCL库和第三方依赖关系所在的路径
    add_definitions(${PCL_DEFINITIONS})//列出所需的预处理程序定义和编译器标志
    add_executable(pcd_write_test pcd_write.cpp)//告诉cmake我们正在尝试pcd_write_test从一个源文件中创建一个可执行文件 pcd_write.cpp
    target_link_libraries(pcd_write_test ${PCL_LIBRARIES})//设置为已建立和已安装的PCL库的文件名

    注释:找到PCL后,将设置几个相关变量:

    • PCL_FOUND:如果找到PCL,则设置为1,否则未设置

    • PCL_INCLUDE_DIRS:设置为PCL安装的标头和依赖标头的路径

    • PCL_LIBRARIES:设置为已建立和已安装的PCL库的文件名

    • PCL_LIBRARY_DIRS:设置为PCL库和第三方依赖关系所在的路径

    • PCL_VERSION:找到的PCL的版本

    • PCL_COMPONENTS:列出所有可用的组件

    • PCL_DEFINITIONS:列出所需的预处理程序定义和编译器标志

    总结:

    我们正在构建的可执行文件可以调用PCL函数。到目前为止,我们仅包括PCL头文件,因此编译器知道我们正在调用的方法。我们还需要使链接程序知道我们要链接的库。如前所述,PCL发现的库是使用PCL_LIBRARIES变量引用的,剩下的只是触发我们调用target_link_libraries()宏的链接操作 。PCLConfig.cmake使用一个名为EXPORT的CMake特殊功能,该功能允许您使用其他项目目标,就像您自己构建它们一样。使用此类目标时,它们称为导入目标,其作用与其他任何目标一样。

    02 编译和运行

    (a)创建build目录,进行编译

    cd /PATH/TO/MY/GRAND/PROJECT
    mkdir build
    cd build
    cmake .. //编译

    (b)构建项目

    make

    (c)项目已编译,链接并可以进行测试(在PROJECT环境下运行终端):

    ./pcd_write_test

    综上,与其它依靠cmake编译的类具有相似的编译过程!

  • 相关阅读:
    前端使用canvas生成盲水印的加密解密
    html2canvas使用心得
    前端开发超好用的截图、取色工具——snipaste
    js识别中英文字符的字节长度并进行裁切
    运用CSS3媒体查询判断iPhoneX、iPhoneXR、iPhoneXS MAX及横竖屏
    webpack4学习笔记
    VUE打包发布后无法访问js、css资源
    IOS微信6.7.4输入框失去焦点,软键盘关闭后,被撑起的页面无法回退到原来正常的位置
    移动端浏览器预览word、excel、ppt
    js为页面元素添加水印
  • 原文地址:https://www.cnblogs.com/Pygoupfs/p/15321477.html
Copyright © 2011-2022 走看看