PCL 配置环境 遇到的问题

错误 C1083 无法打开包括文件: “Eigen/StdVector”: No such file or directory

库目录
应该是 D:\Program Files\PCL 1.9.1\3rdParty\Eigen\eigen3
我多进了一个文件夹变成 D:\Program Files\PCL 1.9.1\3rdParty\Eigen\eigen3\Eigen

错误 C1083 无法打开包括文件: “vtkSmartPointer.h”: No such file or directory

本来的包含目录是 D:\Program Files\PCL 1.9.1\3rdParty\VTK\include
得加上 D:\Program Files\PCL 1.9.1\3rdParty\VTK\include\vtk-8.1
我也不知道为什么

错误 C4996 ‘std::fpos<_Mbstatet>::seekpos’: warning STL4019: The member std::fpos::seekpos() is non-Standard, and is preserved only for compatibility with workarounds for old versions of Visual C++.

It will be removed in a future release, and in this release always returns 0. Please use standards-conforming mechanisms to manipulate fpos, such as conversions to and from streamoff, or an integral type, instead. If you are receiving this message while compiling Boost.IOStreams, a fix has been submitted upstream to make Boost use standards-conforming mechanisms, as it does for other compilers. You can define _SILENCE_FPOS_SEEKPOS_DEPRECATION_WARNING to acknowledge that you have received this warning, or define _REMOVE_FPOS_SEEKPOS to remove std::fpos::seekpos entirely. ConsoleApplication1 d:\program files\pcl 1.9.1\3rdparty\boost\include\boost-1_68\boost\iostreams\positioning.hpp 96

把 _SILENCE_FPOS_SEEKPOS_DEPRECATION_WARNING 添加到预处理项

错误 C4996 ‘vtkMapper::ImmediateModeRenderingOff’: 被声明为已否决

#pragma warning(disable: 4996)

错误 LNK2019 无法解析的外部符号 “void __cdecl pcl::console::print(enum pcl::console::VERBOSITY_LEVEL,char const *,…)” (?print@console@pcl@@YAXW4VERBOSITY_LEVEL@12@PEBDZZ),该符号在函数 “public: void __cdecl pcl::detail::FieldMapper::operator()(void)” (?? ? R U x @ f i e l d s @ p c l @ @ @ ? ?RUx@fields@pcl@@@? ?RUx@fields@pcl@@@?FieldMapper@UPointXYZ@pcl@@@detail@pcl@@QEAAXXZ) 中被引用 ConsoleApplication1 C:\Users\lenovo\Desktop\ConsoleApplication1\ConsoleApplication1\ConsoleApplication1.obj 1

找不到PCL_COMMON_DEBUG.DLL

在系统中选择高级系统设置,在选择设置环境变量,在path中增加一行C:\Program Files\PCL 1.6.0\bin
在检查一下环境变量种PCL_ROOT是不是存在,且为C:\Program Files\PCL 1.6.0

找不到openni2.dll

在配置完属性表后,还需要配置dll。配置dll有四种方法,第一种,把dll拷贝到system32里去,第二种,把dll拷贝到编译出来的程序的文件中,第三种,在系统的path中添加dll的路径,本文选用第四种方法,直接配置到项目中。具体方法如下:

在“解决方案资源管理器”里选中项目右键点“属性”,然后选“调试”设置环境的变量值,规则如下:

PATH=;$(PATH)

在等号后添加所有PCL及第三方库的dll路径以英文的“;”隔开,最后加上一个$(PATH)即可。例如

PATH=KaTeX parse error: Expected 'EOF', got '\bin' at position 11: (PCL_ROOT)\̲b̲i̲n̲;(PCL_ROOT)\3rdParty\FLANN\bin;KaTeX parse error: Expected 'EOF', got '\3' at position 11: (PCL_ROOT)\̲3̲rdParty\VTK\bin…(PCL_ROOT)\Qhull\bin;KaTeX parse error: Expected 'EOF', got '\3' at position 11: (PCL_ROOT)\̲3̲rdParty\OpenNI2…(PATH)

你可能感兴趣的:(PCL 配置环境 遇到的问题)