0

我是编程的初学者,所以我很抱歉我的基本问题。

几周前我通过 vcpkg 管理器安装了 PCL 11.1,现在我意识到我缺少一些头文件。特别是 pcl/surface/concave_hull.h 和更多关于可视化的内容,但这些我现在不会错过太多。

我尝试以不同的方式安装 PCL(v11.1)(使用我在 git 上找到的 exe 文件),我可以在那里看到丢失的文件。然而,当我将此位置添加到 Visual Studio (v16.8.4) 中的其他包含目录时,我得到了 3 个链接器错误。

 Error  LNK2001 unresolved external symbol "protected: virtual void __cdecl pcl::ConcaveHull<struct pcl::PointXYZ>::performReconstruction(struct pcl::PolygonMesh &)" (?performReconstruction@?$ConcaveHull@UPointXYZ@pcl@@@pcl@@MEAAXAEAUPolygonMesh@2@@Z) Meas3D  C:\Users\hribh\source\repos\Meas3D\Meas3D\Meas3D\hull.obj   1

Error   LNK2001 unresolved external symbol "protected: virtual void __cdecl pcl::ConcaveHull<struct pcl::PointXYZ>::performReconstruction(class std::vector<struct pcl::Vertices,class std::allocator<struct pcl::Vertices> > &)" (?performReconstruction@?$ConcaveHull@UPointXYZ@pcl@@@pcl@@MEAAXAEAV?$vector@UVertices@pcl@@V?$allocator@UVertices@pcl@@@std@@@std@@@Z)   Meas3D  C:\Users\hribh\source\repos\Meas3D\Meas3D\Meas3D\hull.obj   1   

Error   LNK2001 unresolved external symbol "public: void __cdecl pcl::ConcaveHull<struct pcl::PointXYZ>::reconstruct(class pcl::PointCloud<struct pcl::PointXYZ> &,class std::vector<struct pcl::Vertices,class std::allocator<struct pcl::Vertices> > &)" (?reconstruct@?$ConcaveHull@UPointXYZ@pcl@@@pcl@@QEAAXAEAV?$PointCloud@UPointXYZ@pcl@@@2@AEAV?$vector@UVertices@pcl@@V?$allocator@UVertices@pcl@@@std@@@std@@@Z) Meas3D  C:\Users\hribh\source\repos\Meas3D\Meas3D\Meas3D\hull.obj   1   

有谁知道这是为什么以及如何通过 vcpkg 安装完整版本的 PCL 或如何摆脱这些错误?谢谢你。

4

1 回答 1

0

我对头文件有同样的问题。原来,使用 vcpkg 并没有提供所有的头文件和文件。你可以从这里安装 pcl all in one,这解决了我的问题:http ://unanancyowen.com/en/pcl181/ 我知道这是一个基本的答案,但我希望它可以帮助。

于 2021-07-21T12:59:51.297 回答