epix-users
[Top][All Lists]
Advanced

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

[ePiX-users] epix2 gcc 4 ...


From: Christian Pötzsch
Subject: [ePiX-users] epix2 gcc 4 ...
Date: Mon, 04 Sep 2006 16:03:41 +0200
User-agent: Thunderbird 1.5.0.5 (X11/20060731)

Hi Andy,
sorry for the late answer but i didn't get your reply. Maybe my mail
server was down/broken at that moment.

> Are you using g++-4.x?
Yes

GCC Version:
Using built-in specs.
Target: x86_64-pc-linux-gnu
Configured with: /var/tmp/portage/gcc-4.1.1-r1/work/gcc-4.1.1/configure
--prefix=/usr --bindir=/usr/x86_64-pc-linux-gnu/gcc-bin/4.1.1
--includedir=/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include
--datadir=/usr/share/gcc-data/x86_64-pc-linux-gnu/4.1.1
--mandir=/usr/share/gcc-data/x86_64-pc-linux-gnu/4.1.1/man
--infodir=/usr/share/gcc-data/x86_64-pc-linux-gnu/4.1.1/info
--with-gxx-include-dir=/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/include/g++-v4
--host=x86_64-pc-linux-gnu --build=x86_64-pc-linux-gnu --disable-altivec
--enable-nls --without-included-gettext --with-system-zlib
--disable-checking --disable-werror --disable-libunwind-exceptions
--enable-multilib --disable-libmudflap --disable-libssp --disable-libgcj
--enable-languages=c,c++,fortran --enable-shared --enable-threads=posix
--enable-__cxa_atexit --enable-clocale=gnu
Thread model: posix
gcc version 4.1.1 (Gentoo 4.1.1-r1)

Thats the main reason for the errors I think.
But in generaly the new gcc's are more strikt about the c/c++ notation
which lead in a more accurate way the programmer develop software. So
this error is right at all. The using of classes which are not defined
is illegal. The same think is in Color.h which defines a Color_base
class. This class uses the color class in a return statement. But the
color class is not defined at this point. So gcc complain about that.

You could uses forward declarations like class color; in the front of a
header file, but this is allowed only if the class is used as a pointer.
E.g:
virtual Color* filter(const Color_Base&) const = 0;

> Did including Vector.h in Point.h allow the package to build for you?
No it dosen't.
Like i wrote in the previous mail, Vector have to know Point and the
other way around. Thats not possible. You must define a third party that
the other classes know like VectorPointBride. This class didn't do
anythink with vectors or points. Its a placeholder for the data. Or you
uses pointers and the forward declarations.
Sorry, i didn't have the time to look closer in your code to give you a
real suggestion for that problem. But for future safety of epix2 you
should try to fix it.

Thanks,
Christian

Attachment: signature.asc
Description: OpenPGP digital signature


reply via email to

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