1. 安装编译工具链MSVC
MSVC工具链是visual studio 自带的工具链,因此安装visual studio社区版即安装完成相应的MSVC工具链
2. 安装Clion
相比与Visual studio的界面来说,更加熟悉以及习惯于Clion的界面以及UI体验。因此安装Clion。在完成Clion安装后,会自动检测MSVC构建工具链,打开file ->setting->build->toolchains 设置构建工具链。
请注意上述的红框一定要选择系统架构为x86_amd64位的系统,而不是32位的系统
3. 安装PCL库
在github上面,下载PCL的window安装包.
注意这个是直接可以安装的安装包,并且其构建链式msvc2022,64位的操作系统,与前文我们安装的构建链一致,并且和是64位操作系统。故下载本安装包,其他构建链请自行通过源码进行编译安装。
在安装的时候勾选选项,将PCL加入到环境变量中去。后续在安装完成后,记得重启电脑,保证动态链接库dll可以被链接到。
4. 构建项目
打开Clion编译软件,编写CMakeList.txt文件如下:
cmake_minimum_required(VERSION 3.24)
project(pcl_demo)
find_package(PCL REQUIRED)
include_directories(${PCL_INCLUDE_DIRS})
link_directories(${PCL_LIBRARY_DIRS})
add_definitions(${PCL_DEFINITIONS})
add_executable(pcl_demo main.cpp)
message(${PCL_LIBRARIES})
target_link_libraries (pcl_demo ${PCL_LIBRARIES})
上述构建脚本,设置相应cmake参数,以及项目名称,然后在系统中寻找PCL库,后续将库进行包含头,并且链接到PCL目录,最后在编译成可执行文件的时候,将PCL库进行链接到可执行文件中去。重新构建项目,如下所示,即PCL库已经被引入项目中去了:
5. demo程序
在main.cpp下编写如下代码:
#include <iostream>
#include <pcl/io/pcd_io.h>
#include <pcl/point_types.h>
#include <pcl/visualization/cloud_viewer.h>
#include <thread>
using namespace std::chrono_literals;
int main (int argc, char** argv)
{
pcl::PointCloud<pcl::PointXYZRGBA>::Ptr cloud(new pcl::PointCloud<pcl::PointXYZRGBA>);
pcl::io::loadPCDFile("./../data/test_pcl_logo.pcd",*cloud);
pcl::visualization::PCLVisualizer visualizer("view");
visualizer.addPointCloud(cloud);
while (!visualizer.wasStopped()){
visualizer.spinOnce(100);
std::this_thread::sleep_for(100ms);
}
cloud.reset();
return 0;
}
在这里我们加载了一个PCD点云文件,并且展示出来。在这里要注意必须将openNI2.dll文件放到与编译后的文件同级目录下,否则会出现openNI2.dll找不知道的错误。最后运行程序,展示如下所示,即PCL在window下安装成功,并且引入代码中。
总结
C++的运行以及编译在window下进行确实有很多的坑要走,但是更多的是一些文件找不到,库找不到的问题,熟悉基本的构建规则,对这些可以慢慢探索而来
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)