|
From: Brent B. <bre...@gm...> - 2009-03-09 22:43:14
|
Found it. This may be a help to anyone else who is trying to build portable software. The issue is caused by the platform SDK one compiles against. The PLIB framework was built against the Leopard 10.5 SDK, and I was attempting to build everything against the 10.4 SDK. Sure enough, OpenGL/gl.h in 10.5 defines GLenum as "unsigned int", and the old 10.4 gl.h has "unsigned long". Unsigned int is the safer of the two going forward into 64bit apps, which is probably why it changed. Once I set everything to build against 10.5 SDK, the errors went away. I could have also rebuilt plib with 10.4. Libraries that do not link against anything beyond standard C/C++ libraries will not have this problem, but whenever any SDK framework is used (CoreImage, OpenAL, OpenGL, etc), the SDK choice is important. -Brent On Sun, Mar 8, 2009 at 9:36 PM, Brent Burton <bre...@gm...> wrote: > Some observations on the linkage issue with plib. > > The issue occurs with the ssggraph module, and the grVtxTable subclass > of plib's ssgVtxTable. One of the ssgVtxTable constructors is: > ssgVtxTable(GLenum type, ssgVertexArray* va, ssgNormalArray* na, > ssgTexCoordArray* ta, ssgColourArray* ca) > ... > [unsigned int vs unsigned long in link search] |