Registered Member
|
Although the help page http://eigen.tuxfamily.org/dox/WrongStackAlignment.html indicates that this error has so far been associated with GCC, I recently experienced it in Microsoft Visual C++ 2005.
I had declared 2 matrices and set one to the inverse of the other: void fn () { // //...... // Matrix<double,2,2> V; Matrix<double,2,2> Vinv; // // V gets initialized... // Vinv = V.inverse(); // throws assertion // // .... // } This worked fine until (apparently) changes to code position caused by work being done elsewhere on my app caused Eigen to consistently start throwing the assertion. By declaring them using the Microsoft __declspec macro I was able to force these matrices to be aligned, and the problem APPEARS to have gone away. __declspec(align(16)) Matrix<double,2,2> V; __declspec(align(16)) Matrix<double,2,2> Vinv; I hope this helps somebody! |
Registered users: Bing [Bot], blue_bullet, Google [Bot], rockscient, Yahoo [Bot]