I am using the precompiled/All-in-One PCL (PointCloudLibrary) in release-version 1.12.1 for Windows.
With that, I am already able to use the visualizer, so parts of the library are already working fine.
When I want to create a RangeImage-object however my program either runs into an infinite loop, not doing anything anymore or gets terminated by the "abort()"-function of the cpp-standard-library in some cases.
A minimal example to create this problem looks like this:
#include <pcl/range_image/range_image.h>
int main () {
pcl::RangeImage rangeImage;
return 0;
}
==== Extra Infos: ===============
While compilation no errors or warnings are displayed, but running the application in debug-mode (x64) gives the described problem. Running the program in release-mode (x64) gives a "forbidden memory access"-error coming from the std::vector library. x86 is not tested.
When the program terminates with the abort()-function, I get this error message in the console:
Assertion failed: (internal::UIntPtr(array) & (31)) == 0 && "this
assertion is explained here: " "http://eigen.tuxfamily.org/dox-
devel/group__TopicUnalignedArrayAssert.html" " **** READ THIS WEB PAGE
!!! ****", file C:\Program
Files\Eigen3\include\eigen3\Eigen\src/Core/DenseStorage.h, line 128
I went through the website that the error message recommends, but I was not able to solve the problem by that. I have set the C++-Standard to c++17 already.
============================
Has anyone run into this problem before and knows what could cause this issue?
Thanks for taking the time.
What fixed this problem was to build the pcl 1.12.1 new with instructions from this tutorial*1 (scroll down until you find the right version): https://gist.github.com/UnaNancyOwen/59319050d53c137ca8f3
Also in Visual Studio the project setting under "C/C++ > Codegeneration > Activate advanced Instructionset" had to be set to AVX2.
*1) You dont need to understand chinese to go through this tutorial. If you have build the PCL before, you will get all information you need from this.