Re: [eigen] MSVC build errors

[ Thread Index | Date Index | More lists.tuxfamily.org/eigen Archives ]


Gael Guennebaud schrieb:
Hi,

now all unit tests compile (revision 849288).... with about 60000
lines of warnings !
However, adjoint and product_large strangely failed... I don't know
what's going on.

cheers,
gael.


On Mon, Aug 18, 2008 at 7:17 PM, Benoît Jacob <jacob@xxxxxxxxxxxxxxx> wrote:
A little update. I fixed part of the windows problem by making Eigen only use
alloca() on Linux (and malloc() otherwise).

But, Patrick still can't compile the unit-tests on mingw (which uses g++
3.4.5). That's strange as here on g++ 3.4.6 on linux, there is no problem.

Anyway, I attach his output, as I am a bit clueless. mingw seems to fail to
resolve a template argument as it says
       [with OtherDerived = OtherDerived,
!!!

Meanwhile, there remain the MSVC errors from the first e-mail of this thread.
So, to anybody here with a windows devel environment (mingw or msvc), please
have a look!
ok, thanks again for all the fixing - I have another patch which I need to compile - but I don't dare to clean it up and commit it as it seems wrong.
I hope you can do something with this patch.

Cheers,
Benoit

regards,
PAtrick


--
web:                 http://windows.kde.org
mailing list:        kde-windows@xxxxxxx
irc:                 #kde-windows (irc.freenode.net)
Index: Eigen/src/Core/util/Macros.h
===================================================================
--- Eigen/src/Core/util/Macros.h	(revision 850222)
+++ Eigen/src/Core/util/Macros.h	(working copy)
@@ -28,6 +28,14 @@
 
 #undef minor
 
+#ifdef _MSC_VER
+#pragma warning( disable : 4181 4244 )
+#define ASM(name) __asm(name)
+#else
+#define ASM(name) asm(name)
+#endif
+
+
 #ifdef EIGEN_DONT_USE_UNROLLED_LOOPS
 #define EIGEN_UNROLLING_LIMIT 0
 #endif
@@ -144,8 +152,9 @@
        IsVectorAtCompileTime = Base::IsVectorAtCompileTime };
 
 #define EIGEN_GENERIC_PUBLIC_INTERFACE(Derived) \
-_EIGEN_GENERIC_PUBLIC_INTERFACE(Derived, Eigen::MatrixBase<Derived>) \
-friend class Eigen::MatrixBase<Derived>;
+_EIGEN_GENERIC_PUBLIC_INTERFACE(Derived, Eigen::MatrixBase<Derived>)
+// \
+//friend class Eigen::MatrixBase<Derived>;
 
 #define EIGEN_ENUM_MIN(a,b) (((int)a <= (int)b) ? (int)a : (int)b)
 #define EIGEN_ENUM_MAX(a,b) (((int)a >= (int)b) ? (int)a : (int)b)


Mail converted by MHonArc 2.6.19+ http://listengine.tuxfamily.org/