I get errors when building with gcc 3.4.3:
/buildtools/gcc-3.4.3/bin/g++ -c -O3
-I/usr/X11R6/include -L/usr/X11R6/lib -I../include -L./
agg_vc
en_contour.cpp -o agg_vcgen_contour.o
In file included
from ../include/agg_vcgen_contour.h:20,
from agg_vcgen_contour.cpp:21:
../include/agg_vertex_sequence.h: In member function
`void agg::vertex_sequence<T, S>::add(const T&
':
../include/agg_vertex_sequence.h:81: error: there are
no arguments to `size' that depend on a templ
te parameter, so a declaration of `size' must be
available
../include/agg_vertex_sequence.h:81: error: (if you use
`-fpermissive', G++ will accept your code,
ut allowing the use of an undeclared name is
deprecated)
../include/agg_vertex_sequence.h:83: error: there are
no arguments to `size' that depend on a templ
te parameter, so a declaration of `size' must be
available
../include/agg_vertex_sequence.h:83: error: there are
no arguments to `size' that depend on a templ
te parameter, so a declaration of `size' must be
available
../include/agg_vertex_sequence.h:83: error: there are
no arguments to `remove_last' that depend on
template parameter, so a declaration of
`remove_last' must be available
../include/agg_vertex_sequence.h: In member function
`void agg::vertex_sequence<T, S>::close(bool)'
../include/agg_vertex_sequence.h:103: error: there are
no arguments to `size' that depend on a temp
ate parameter, so a declaration of `size' must be
available
../include/agg_vertex_sequence.h:105: error: there are
no arguments to `size' that depend on a temp
ate parameter, so a declaration of `size' must be
available
../include/agg_vertex_sequence.h:105: error: there are
no arguments to `size' that depend on a temp
ate parameter, so a declaration of `size' must be
available
../include/agg_vertex_sequence.h:106: error: there are
no arguments to `size' that depend on a temp
ate parameter, so a declaration of `size' must be
available
../include/agg_vertex_sequence.h:113: error: there are
no arguments to `size' that depend on a temp
ate parameter, so a declaration of `size' must be
available
../include/agg_vertex_sequence.h:115: error: there are
no arguments to `size' that depend on a temp
ate parameter, so a declaration of `size' must be
available
../include/agg_vertex_sequence.h:116: error: there are
no arguments to `remove_last' that depend on
a template parameter, so a declaration of
`remove_last' must be available
make[1]: *** [agg_vcgen_contour.o] Error 1
make[1]: Leaving directory
`/tmp/buildtools/src/libagg-2.1/src'
make: *** [src/libagg.a] Error 2
When I build it exactly the same way, with version
3.2.3, I get no such errors. Even enabling the
-fpermissive option doesn't work, as it just runs into
more errors, later on. If no one has fixed these
problems, I imagine I could probably do it (assuming
it's likely you'll accept my patch).
One major difference between the two versions of gcc
is that the latter is much more strict about
standards-compliance. Therefore, I imagine these
problems aren't fundamentally specific to GCC.
Logged In: YES
user_id=343027
Oops, I wasn't using the "updated" version of 2.1.
I would just point out that a normal, 3-level version
numbering system would have avoided this confusion. The
typical practice is to have Major.Minor.Patch. Patch gets
incremented when the only changes made are fixes. Minor
gets incremented when backward-compatible, new
functionality is added (and Patch is then reset to 0). Major
gets incremented (and Minor & Patch reset) when
non-backward compatible changes are made.