|
From: | E. Rosten |
Subject: | Re: [libcvd-members] GVars3: Compiling with TooN 2 on Windows (VC++9.0/2008) |
Date: | Mon, 1 Feb 2010 16:31:48 +0000 (GMT) |
User-agent: | Alpine 2.00 (LSU 1167 2008-08-23) |
On Mon, 1 Feb 2010, Georg Klein wrote:
Potentially unrelated, but the string TOON_TYPEOF sets off alarm bells to me. Does CVS/Savannah have a post-commit-script-running system which could nuke people's accidental config.hh commits?
TOON_TYPEOF is not defined in config.hh, it's part of the mechanism which ensures that Matrix<double> * Matrix<float> is a Matrix<double>. There are seceral alternative implementation: gcc's typeof extension, C++0x's decltype, Boost's BOOST_TYPEOF and an internal one which works for most types people are likely to use.
Naturally, the choice of which to use is in config.hh (blanked again :). It looks like this user is using a custom config.hh, though. -Ed
On 1 Feb 2010, at 08:03, E. Rosten wrote:On Sat, 30 Jan 2010, Markus Mayer wrote:Hi, while trying to compile libcvd/GVars3 on Windows (x64, Visual Studio 2008) I encountered a nasty problem in operators.hh, lines 60 to 63. The compilation died with the following error: 1>C:\dev\Libraries\TooN\TooN/internal/operators.hh(60) : warning C4346: 'boost::type_of::msvc_typeid_wrapper<sizeof(disable_if<is_function<T>::type,sizer<T>::type>::type)>::type' : dependent name is not a type 1> prefix with 'typename' to indicate a type 1> C:\dev\Libraries\TooN\TooN/internal/operators.hh(60) : see reference to class template instantiation 'TooN::Internal::AddType<L,R,F>' being compiled 1>C:\dev\Libraries\TooN\TooN/internal/operators.hh(60) : error C2146: syntax error : missing ';' before identifier 'type' 1>C:\dev\Libraries\TooN\TooN/internal/operators.hh(60) : error C4430:missing type specifier - int assumed. Note: C++ does not support default-intThe line being: template<class L, class R, int F = Field<L,R>::is> struct AddType { typedef TOON_TYPEOF(gettype<L>()+gettype<R>()) type;}; Turns out error C4346 is a feature "in order to conform to the ISO C++ standard." The solution is to add the "typename" keyword so that the line readsIt looks like you've got TooN configured to use Boost. Is this correct? -Ed _______________________________________________ libcvd-members mailing list address@hidden http://lists.nongnu.org/mailman/listinfo/libcvd-members_______________________________________________ libcvd-members mailing list address@hidden http://lists.nongnu.org/mailman/listinfo/libcvd-members
-- (You can't go wrong with psycho-rats.)(http://mi.eng.cam.ac.uk/~er258) /d{def}def/f{/Times s selectfont}d/s{11}d/r{roll}d f 2/m{moveto}d -1 r 230 350 m 0 1 179{ 1 index show 88 rotate 4 mul 0 rmoveto}for/s 12 d f pop 235 420 translate 0 0 moveto 1 2 scale show showpage
[Prev in Thread] | Current Thread | [Next in Thread] |