[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [libcvd-members] GVars3: Compiling with TooN 2 on Windows (VC++9.0/2

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.


On 1 Feb 2010, at 08:03, E. Rosten wrote:

On Sat, 30 Jan 2010, Markus Mayer wrote:


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:
: 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-int

The 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++
The solution is to add the "typename" keyword so that the line reads

It looks like you've got TooN configured to use Boost. Is this correct?


libcvd-members mailing list

libcvd-members mailing list

(You can't go wrong with psycho-rats.)(

/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

reply via email to

[Prev in Thread] Current Thread [Next in Thread]