【问题标题】:Point Cloud Library with Visual Studio 2017带有 Visual Studio 2017 的点云库
【发布时间】:2018-08-21 11:43:06
【问题描述】:

在 Microsoft Visual Studio 2017 中使用点云库时遇到问题。

我已经安装了 [PCL-1.8.1-AllInOne-msvc2017-win64.exe] 并按照上述步骤进行操作 here. 将其链接到我的 Visual Studio 2017 项目。

我的问题是 Visual Studio 没有找到我需要的库的头文件或源文件。 我得到的错误如下: [致命错误C1083:无法打开包含文件:'pcl/io/pcd_io.h':没有这样的文件或目录]

为了更准确地了解我的问题,我需要包含三个 PCL 头文件才能运行 thisIterative Closest Point Tutorial

我已按照以下步骤将 PCL 包含到我的项目中:

  • 在项目属性/配置属性/VC++ 目录/包含目录字段中将包含目录添加到我的项目 - 在这里我指定了我的 PCL/包含目录和所有第 3 方包含目录 (PCL/3rdParty) 的路径李>
  • 在同一设置页面(库目录字段)上添加了库目录 - 在这里我指定了我的 PCL/lib 目录和所有非仅头文件的第 3 方库(Boost、Flann、VTK)的路径
  • 选择要在链接器中使用的库。在项目属性/配置属性/链接器/输入/附加依赖项字段中。我添加了所有需要的库。当我现在尝试在调试模式下运行它时,我选择了“_debug.lib”库文件。
  • 最后,我已将 PCL/bin 文件夹添加到我的系统路径变量中。

有人知道我在配置方面是否遗漏了什么吗?

我看过几篇关于旧点云库与旧版本 Visual Studio 之间不兼容的旧帖子。据我了解,新版本应该可以很好地协同工作,但对我来说并非如此。

【问题讨论】:

  • 请解释一下,什么是失败的,如何失败的,以及你期望什么。如所写,您要求猜测。我们甚至不知道,出了什么问题。也请拨打tour,阅读How to Ask
  • 完成!我希望现在好多了。谢谢:)
  • 嗯,这并没有真正解决我的问题,但还是谢谢你。此命令 [CL /I \INCLUDE /I\MY\INCLUDE MAIN.C] 用于 Visual Studio 命令提示符?
  • 如果您无法在编译器选项和 IDE 的 GUI 之间进行转换,那么您还没有准备好使用 IDE。我不知道这是否解决了您的问题,因为您从未解释过,您的问题是什么。如果您收到编译器或链接器错误,则需要发布这些编译器或链接器错误。您所说的基本上是:“我遇到了麻烦”。不是很有帮助,因为我们知道这一点。人们来到这里并不是为了让用户知道一切都按预期工作。

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


【解决方案1】:

安装 pcl 很困难,因为与 pcl 软件一起使用的依赖项有很多。但是使用命令行包管理器 vcpkg,安装变得就像一个单行命令。

使用 Microsoft vcpkg 自动为您的项目构建静态或动态库。 boost、tiff、openssl、flann、szip 等所有依赖项都将自行下载和安装。安装 vcpkg 后,在 Powershell 上键入以下内容。

.\vcpkg install pcl:x64-windows-static

【讨论】:

  • 非常感谢您的帮助。现在正在下载。实际上是的,有几十个依赖项没有在其他地方提到,而且我自己永远也找不到:)
  • 如果您使用 .\vcpkg 集成安装,dll 和库将自动链接到您的项目
  • 太棒了!现在我使用了 [.\vcpkg 集成安装] 我收到了这条消息:“所有 MSBuild C++ 项目现在都可以#include 任何已安装的库。链接将自动处理。安装新库将使它们立即可用。”现在的问题是 Visual Studio 要求查找每个头文件的目录。我试图包含主 vcpkg\packages 文件夹(所有标题都在其中),但仍然无法访问它们。看来我必须在属性页中为每个头文件指明目录。有什么想法吗?谢谢
  • @IsmNaj :您将在 ...vcpkg-master\installed\x64-windows-static\include 下找到头文件
  • 是的,安装成功。尽管它在安装过程中停止了几次,但幸运的是,每次我重新启动它时它都会从停止的地方继续。顺便说一句,整个硬盘大约需要 40 GB 是正常的吗?现在我不再有任何链接问题,但有大量编译器/语法错误(106 个错误),主要位于“centroid.h”中。很多语法错误和未声明的标识符..
【解决方案2】:

您引用的链接是 3-4 岁。当时,没有提供任何适用于 Visual Studio 2012 或更高版本的 PCL 二进制版本,因此。 PCL 需要使用目标 VS 构建。并且必须手动添加 PCL 的每个包含/库目录和任何相关库以设置 IDE。由于 PCL 是一个大规模的库集合,这使得它的用户很难设置 VS。

现在是 2018 年初,提供 binary builds of PCL for VS 2015/2017more automatic way to setup VS (e.g., adding library/include directories) using CMake。因此,安装 PCL 并使用 PCL 创建一个 VS 项目不会超过 10 分钟。我认为你最好按照推荐的方式而不是自己设置VS。

【讨论】:

    【解决方案3】:

    上一个答案使用vcpkg很好,但更好用:

    .\vcpkg install pcl:x64-windows
    

    它可以让你遇到的问题更少。

    【讨论】:

      【解决方案4】:

      对于遇到上述安装问题的任何人的小提示,有时安装会损坏并且无法正常工作。我得到了:

      LINK : 致命错误 LNK1201

      在构建中,解决方案是找到下载的项目。这将位于vcpkg/downloads/ 目录中。删除有问题的项目并再次尝试安装。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2017-09-07
        • 2013-05-07
        • 2023-04-10
        • 2019-03-01
        • 2018-05-18
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多