安装点云库

Install Point Cloud Library

最近有人向我介绍了 vcpkg,因为我一直在寻找安装点云库 (PCL) 以便使用它的最佳方法在我的 Visual Studio C++ 项目中。

我已经使用 .\vcpkg install pcl:x64-windows-static 安装了 PLC 静态库,然后 .\vcpkg integrate install 将库和 dll 集成到 Visual Studio 2017。我现在的目标是 运行官方 PCL 网站上 Iterative Closest Point Algorithm 的演示。

我创建了一个原始项目,并完成了以下操作以添加 PCL:

我试图在调试 x86 模式下编译前面提到的演示,但我不断收到以下错误:

1>LINK : fatal error LNK1104: cannot open file 'manual-link.obj'

请注意,在已安装的 PCL 目录中,有两个名为 manual-link.
的文件夹 第一个是 "vcpkg-master\installed\x64-windows-static\debug\lib\manual-link",包含两个 lib 文件:

另一个是 "vcpkg-master\installed\x64-windows-static\lib\manual-link",包括:

我不知道我在这里错过了什么。 PCL 和 Visual Studio 2017 是否有人遇到过同样的问题?这个问题有什么解决办法吗?

不会自动选择 x64-windows-static 三元组[1] -- 您需要编辑 MSBuild vcxproj 并将 VcpkgTriplet MSBuild 属性 设置为 x64-windows-static :

<PropertyGroup Label="Globals">
  <!-- .... -->
  <VcpkgTriplet Condition="'$(Platform)'=='Win32'">x86-windows-static</VcpkgTriplet>
  <VcpkgTriplet Condition="'$(Platform)'=='x64'">x64-windows-static</VcpkgTriplet>
</PropertyGroup>

请注意,如果执行此操作,您还需要将 CRT (/MT) 更改为静态 link。

或者,您可以安装动态库 (x64-windows),默认情况下它们将被自动获取,并且无需任何更改即可使用新项目的设置。

无论哪种方式,您都不需要向附加包含目录或附加依赖项添加任何路径。

[1] https://github.com/Microsoft/vcpkg/blob/master/docs/users/integration.md#triplet-selection