安装Point Cloud Library

时间:2018-03-14 15:06:39

标签: c++ visual-studio-2017 point-cloud-library vcpkg

我最近被介绍到 vcpkg ,因为我一直在寻找安装Point Cloud Library(PCL)的最佳方式,以便在我的Visual Studio C ++中使用它项目。

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

我创建了一个处女项目,并且我已经完成以下操作来添加PCL:

  • 添加" vcpkg-master \ installed \ x64-windows-static \ include"属性页面的路径 - > VC ++目录 - >包含目录
  • 添加" vcpkg-master \ installed \ x64-windows-static \ include"物业页面的路径 - > C / C ++ - >其他包含目录
  • 将所有lib文件(vcpkg-master \ installed \ x64-windows-static \ lib中的文件)添加到Property Page-> Linker-> Additional Dependencies
  • 添加" vcpkg-master \ installed \ x64-windows-static \ lib"属性页面的路径 - >链接器 - >常规 - >附加库目录

我试图在Debug 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文件:

  • boost_prg_exec_monitor-vc140-MT-gd.lib
  • boost_test_exec_monitor-vc140-MT-gd.lib

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

  • boost_prg_exec_monitor-vc140-mt.lib
  • boost_test_exec_monitor-vc140-mt.lib

我不知道我在这里失踪了什么。 PCL和Visual Studio 2017有没有遇到同样的问题?解决这个问题的任何方法?

1 个答案:

答案 0 :(得分:0)

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)的静态链接。

或者,您可以安装动态库(x64-windows),默认情况下会自动选择它们并使用新项目的设置而不做任何更改。

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

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