vcpkg PCL编译错误

时间:2018-10-11 12:10:42

标签: c++ point-cloud-library vcpkg

我使用vcpkg在计算机上安装PCL(x64-windows-static),以便在VS2017项目中使用它。
我按照vcpkg进行安装,然后使用命令.\vcpkg install pcl:x64-windows-static,一切正常。
然后,我更改了vcxproj以便添加行 <VcpkgTriplet Condition="'$(Platform)'=='x64'">x64-windows-static</VcpkgTriplet>,因为我以静态方式而不是动态方式进行编译,然后将/Md更改为/Mt,因为(同样),我以静态方式进行了编译。 / p>

到目前为止,一切都很好。但是现在,为了尝试设置,我尝试创建一个非常简单的项目,其中仅包含一些文件:

#include <iostream>
#include <pcl/io/pcd_io.h>
#include <pcl/io/ply_io.h>
#include <pcl/point_cloud.h>
#include <pcl/console/parse.h>
#include <pcl/common/transforms.h>
#include <pcl/visualization/pcl_visualizer.h>

int
main(int argc, char** argv)
{
    return 0;
}

编译此代码时,我有很多错误。

vtkMapper::ImmediateModerRenderingOff': was declared deprecated
namespace "boost::date_time" does not have member class "gregorian_calendar_base"
namespace "boost::date_time" has no member "months_of_year"
namespace "boost::system" has no member "error_code"
more than one instance of overloaded function "boost:mpl::assert_not_arg" matches the argument list:
class "boost::mpl::apply_wrap2<boost::mpl::push_front<boos::mpl::na, boost::mpl::na>, boost::mpl::l_end, boost::signals2::detail::foreign_void_shared_ptr>" has no member "type"

以此类推...我有很多。而且我的代码无法执行。

我试图删除一些包含,但现在只有

#include <iostream>
#include <pcl/io/pcd_io.h>

int
main(int argc, char** argv)
{
    return 0;
}

我的代码“编译”并执行,但是我仍然有很多错误。我相信这次执行代码是因为我没有vtkMapper::ImmediateModerRenderingOff': was declared deprecated,但仍然有前面提到的其他错误。因此它编译时出错,但是仍然执行...

有人可以解释我发生了什么事吗?我真的迷路了。我对vcpkg做错了吗?为什么在编译过程中出现错误时我的代码会执行?

编辑::
通过仅在错误列表enter image description here中将“构建+智能感知”切换为“构建”,我能够消除错误 但是我仍然不明白如果编译期间出现错误,我的项目将如何执行。另外,我仍然有关于vtk::ImmediateModeRenderingOff被弃用的错误...
有人知道我该如何消除此错误?

0 个答案:

没有答案