[ODE] ODE and OPCODE

Wesley Smith wesley.hoke at gmail.com
Tue Sep 5 13:12:03 MST 2006


The problem is that there is still that in Opcode.h, there this:

#include "OPC_IceHook.h"

	namespace Opcode
	{
		// Bulk-of-the-work
		#include "OPC_Settings.h"
		#include "OPC_Common.h"
      // more stuff ...
       }

At the end of OPC_IceHooh.h as you pointed out there is using
namespace IceMaths;, but this is negated by namespace Opcode causing
my problems in OPC_Common.h.  Is there a compiler setting for getting
around this?  How does the Makefile handle this?

thanks,
wes

On 9/5/06, Elijah Taylor <eatmailinglists at gmail.com> wrote:
> Yes, the namespaces are a bit goofy, especially if you look in
> OPC_IceHook.h, which is what allows these structures that are included to be
> used:
>
> ////// begin code
> namespace IceMaths
> {
>     ...
>     #include "Ice/IcePoint.h"
>     ...
> }
>
> using namespace IceMaths;
> ////// end code
>
> So there are namespaces declared that these things go into, but they're
> immediately made visible by "using namespace foo;" right after the
> declaration.  I don't really know what the point of this is, but that's how
> it works.
>
> -Elijah
>
>
> On 9/5/06, Wesley Smith <wesley.hoke at gmail.com> wrote:
> >
>  Thanks for the responses so far.  I've been looking a bit more
> carefully through the headere files.  Here's what I've noticed about
> my errors:
>
> I'm getting an error in OPC_Common.h: "Point not defined".
>
> In collision_trimesh_internal.h, Opcode.h is included
> |
> |
> > In Opcode.h,  OPC_IceHook.h is included
>      |
>      |
>      |> In OPC_IceHook.h within namespace IceMaths, Ice/IcePoint.h
> where Point is defined
> |
> |
> |>In Opcode.h, in namespace Opcode OPC_Common.h is included
>
>
> Given this structure with the order of includes and namespaces, I
> don't see how the definition of Point in IcePoint.h can make it to
> OPC_Common.h.  How on Earth does it get through those namespace
> declarations?  Yes, the header files are in the right order, meaning
> that Point is theoretically defined in the headerse before
> OPC_Common.h comes along, but given the rules of C++ I don't see how
> it would be in the same namespace.
>
> Anyone have insights here?
>
> thanks,
> wes
> _______________________________________________
> ODE mailing list
> ODE at q12.org
>  http://q12.org/mailman/listinfo/ode
>
>


More information about the ODE mailing list