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)