[MacPorts] #16981: openvrml-0.17.9: new port
MacPorts
noreply at macports.org
Mon Nov 3 13:29:54 PST 2008
#16981: openvrml-0.17.9: new port
---------------------------------+------------------------------------------
Reporter: raphael at ira.uka.de | Owner: macports-tickets at lists.macosforge.org
Type: enhancement | Status: new
Priority: Normal | Milestone: Port Submissions
Component: ports | Version: 1.6.0
Resolution: | Keywords: vrml new port
Port: openvrml |
---------------------------------+------------------------------------------
Comment(by braden at endoframe.com):
The function signature
{{{
void f();
}}}
means different things in C and C++. In C, it means "Here's a function f
and I haven't defined its argument list yet." In C++, it means exactly the
same thing as
{{{
void f(void);
}}}
While I'll grant it's possible that the error message is using the varargs
notation to mean "the arg list is undefined", note that OpenVRML is
entirely C++; and there is no concept of a declared function with an
undefined arg list in C++.
On OS X 10.4, the GLU tessellation callback needs to be cast to a type
that looks like this:
{{{
typedef void (*callback_t)(...);
}}}
While everywhere else (including 10.5), the type needs to be:
{{{
typedef void (*callback_t)(void);
}}}
I was never able to work out exactly why that is on 10.4. Like you, I
scoured the headers and couldn't find any direct evidence of varargs being
used in the tessellation callback signature. Nonetheless, the compiler on
10.4 clearly thinks that the callback type must look like `void (*)(...)`.
I do not think the X11 version of the headers is getting included.
--
Ticket URL: <http://trac.macports.org/ticket/16981#comment:12>
MacPorts <http://www.macports.org/>
Ports system for Mac OS
More information about the macports-tickets
mailing list