Point Cloud Library with Visual Studio 2017

IsmNaj picture IsmNaj · Mar 13, 2018 · Viewed 7.5k times · Source

I'm having trouble using Point Cloud Library with Microsoft Visual Studio 2017.

I have installed [PCL-1.8.1-AllInOne-msvc2017-win64.exe] and I've followed the steps mentioned here. to link it to my Visual Studio 2017 project.

My problem is that Visual Studio is not finding the header nor the source files of the library I need. The error I'm getting is as follows: [fatal error C1083: Cannot open include file: 'pcl/io/pcd_io.h': No such file or directory]

To be more precise about my problem, I need to include three PCL header files in order to run thisIterative Closest Point Tutorial

I've followed the following steps to include the PCL into my project:

  • Added the include directories to my project at the Project Properties/Configuration Properties/VC++ Directories/Include Directories field - here I specified the path to my PCL/include directory and to all 3rd party include directories (PCL/3rdParty)
  • Added the library directories on the same settings page (Library Directories field) - hereI specified the path to my PCL/lib directory and to all non-header-only 3rd party libs (Boost, Flann, VTK)
  • Chose the libs to be used in the linker. In Project Properties/Configuration Properties/Linker/Input/Additional Dependencies field. I added all the libs required. As I'm trying to run it in debug mode for now, I've picked the "_debug.lib" library files.
  • Finally, I've added the PCL/bin folder to my system path variable.

Does anyone know if I'm missing something configuration-wise?

I've seen several old posts about incompatibility between older Point Cloud Libraries and older versions of Visual Studio. As far as I understood, the new versions are supposed to work well together, but it's not the case for me.

Answer

seccpur picture seccpur · Mar 13, 2018

Installing pcl is tough because there are dozens of dependencies used along with pcl software. But with with vcpkg,a command line package manager, the installation becomes just like a one liner command.

Use Microsoft vcpkg to build a static or dynamic library for your project automatically. All the dependencies like boost,tiff,openssl,flann,szip,etc will be downloaded and installed by itself. After installing vcpkg type the following on Powershell.

.\vcpkg install pcl:x64-windows-static