pcl中使用OrganizedFastMesh报链接错误
使用OriganizedFastMesh出现如下报错:
严重性 代码 说明 项目 文件 行 禁止显示状态
错误 LNK2001 无法解析的外部符号 "protected: virtual void __cdecl pcl::OrganizedFastMesh<struct pcl::PointNormal>::performReconstruction(struct pcl::PolygonMesh &)" (?performReconstruction@?$OrganizedFastMesh@UPointNormal@pcl@@@pcl@@MEAAXAEAUPolygonMesh@2@@Z)
我是通过https://github.com/PointCloudLibrary/pcl/releases/tag/pcl-1.11.1来下载PCL-1.11.1-AllInOne-msvc2019-win64.exe来安装的,所以可能没有预编译这个模块?总之,解决方法就是加个
#define PCL_NO_PRECOMPILE
但是加在文件中我也不知道该加在哪个文件,我是把这个加载了cmake文件中
add_compile_definitions("PCL_NO_PRECOMPILE")
加了这句话以后,编译,又会报一个错误:
严重性 代码 说明 项目 文件 行 禁止显示状态
错误 C2872 “detail”: 不明确的符号 TestCarModel **********************************\vtkAtomic.h 358
根据网上提供的方法,需要把 vtkAtomic.h 这个文件中的三处detail的前面加上::,即变成::detail
改完以后,编译,又会报一个错:
严重性 代码 说明 项目 文件 行 禁止显示状态
错误 C1128 节数超过对象文件格式限制: 请使用 /bigobj 进行编译
修改camke文件,如下加一句:
add_definitions("/bigobj")
即可。然后就可以继续编译运行了。