Registered Member
|
Hi folks,
since I am currently bound to gcc 3.3.5 (due to a development for specific hardware), I was very glad to read that Eigen is supposed to run on gcc from 3.3 on. However, even with the simplest example program I keep getting quite some of compiler errors like e.g. the following ones: eigen-2.0.1/Eigen/src/Core/Part.h: In member function `void Eigen::Part::swap(const Eigen::MatrixBase&) ': eigen-2.0.1/Eigen/src/Core/Part.h:123: error: `SwapWrapper' specified as declarator-id eigen-2.0.1/Eigen/src/Core/Part.h:123: error: multiple declarations `int' and `Eigen::Part, Mode>' Does anyone know if there is a workaround? With gcc 4 everything is perfect... Thanks in advance, Martin |
Moderator
|
Indeed, we have some issues with the 3.3 branch. I can understand it is not always possible to switch to GCC 4, but about the 3.4 version which works fine with Eigen ?
|
Moderator
|
UPDATE: finally I managed to fix all issues with gcc 3.3 !
|
Registered Member
|
Thanks a lot - all the error messages I got before have magically disappeared now :shade: However... could it be that gcc 3.3 still has a problem with __attribute__ ((aligned(16)))?? At least for me it seems to be a pure matter of chance whether my Eigen::Vector3d objects get aligned to 128 bit addresses or not (mostly they don't...). I'm simply creating them on the heap, they're not inside any stucts or stl containers and I'm not using calls by value. |
Registered Member
|
No problem, that's normal. Eigen only align fixed-size objects whose size is a multiple of 128 bits, otherwise it would be wasting a lot of memory. So Vector2d is aligned, Vector4d too, but not Vector3d.
Join us on Eigen's IRC channel: #eigen on irc.freenode.net
Have a serious interest in Eigen? Then join the mailing list! |
Registered users: Bing [Bot], Google [Bot], Sogou [Bot]