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






Reply via email to