This guide shows how to compile the Online LiDAR Processor on Windows with Microsoft Visual C++.
Tested on Windows 10 with Visual Studio 2017.
For Windows operating systems binary releases are available for the dependencies:
- CMake, see the download page.
- Boost Library, check for prebuilt Windows binaries on the download page.
- PCL, the most recent binary installers can be found the GitHub project page. Install all dependencies unless already present on your computer!
In order to support reading PCAP files, PCL must be compiled with the WITH_PCAP flag. Unfortunately the official prebuilt binaries are built without it. If reading PCAP files is a required functionality, you must:
- Install a PCAP library (e.g. Npcap)
- Compile PCL manually with the WITH_PCAP flag, for which you should check the official guide.
Note, that version 1.8 or higher is required for PCAP integration.
The project depends on some locally built tools:
Check out the repository, then initialize the submodules to download the locally built dependencies:
git submodule init
git submodule update
Compile the dependencies:
cd vendor
make -f Makefile_Windows
Note: rerun when tools change in the vendor directory.
mkdir build && cd build
cmake .. -DCMAKE_GENERATOR_PLATFORM=[x86|x64] -DWITH_SLAM=OFF
msbuild ALL_BUILD.vcxproj /p:Configuration=Release
Pay attention to set the value of the CMAKE_GENERATOR_PLATFORM
option correctly, matching the architecture of the installed PCL, otherwise compilation will fail.
Note: there is no SLAM support currently on Windows due to some dependencies of the implemented algorithms (libpointmatcher). You may try Windows using WSL instead.
-
Issue: the Boost library is not found upon CMake configuration.
Solution: in case you use a separate Boost installation instead of PCL's default one, you might need to configure its location through theBOOST_INCLUDEDIR
variable. -
Issue: the OpenNI2 library is not found upon execution of the compiled binary.
Solution: the<path>\<to>\<openni2>\Redist
folder must be in yourPATH
variable.