Dear Antonio, Rob, Indeed, Xwindows.h (on my OpenSuSE system) has a #define Status int
It seems reasonable to solve this the same as issue 253: let Eigen produce an understandable #error if Status is already defined. See https://gitlab.com/libeigen/eigen/-/issues/253 Regards, Jan. ________________________________________ From: Antonio Sanchez <[email protected]> Sent: Wednesday, April 21, 2021 5:13 PM To: [email protected] Subject: Re: [eigen] Problem with 3.4 rc1 My best guess is that somewhere there is a #define Status int somewhere in your code, which is then conflicting with the enum value "Status = 3", which is being converted to "int = 3" by the preprocessor. You may need to undef it before including Eigen. On Tue, Apr 20, 2021 at 10:48 PM Rob McDonald <[email protected]<mailto:[email protected]>> wrote: I'm trying 3.4 rc1 on my program. Everything seems to work fine on Windows and MacOS. However, there seems to be some sort of conflict when I try to build on Linux. We are currently using 3.3.7 and everything works fine. I suppose I could try 3.3.9 if that would be helpful. The problems only crop up in the graphics part of my program (which does not use Eigen intensively, it just gets included relatively incidentally). My program can also be compiled in a non-graphical version (no GUI, OpenGL, or XWindows libraries allowed at all) - and that works fine. I use FLTK as a cross-platform GUI library. The most significant difference on Linux is the use of X Windows. I've attached the gcc error log from trying to compile one file -- sorry, it is 884 lines long... My gut says something is getting #defined that then gives Eigen fits. However, I can't find anything that looks wrong in the code the messages are pointing to. Any help tracking this down will be very much appreciated. Rob
