我最近被介绍到 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:
我试图在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文件:
另一个是" vcpkg-master \ installed \ x64-windows-static \ lib \ manual-link"并包括:
我不知道我在这里失踪了什么。 PCL和Visual Studio 2017有没有遇到同样的问题?解决这个问题的任何方法?
答案 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