C error: Expected expression

Mark Brethen mark.brethen at gmail.com
Tue Nov 13 21:27:40 UTC 2018


What are the differences between the gl/glu libs in /opt/X11and the OpenGL framework? I was successful in building calculix-cgx using /opt/X11 however the graphics are not displayed correctly in XQuartz.


Mark Brethen
mark.brethen at gmail.com



> On Nov 13, 2018, at 11:52 AM, Mark Brethen <mark.brethen at gmail.com> wrote:
> 
> APIENTRY is defined in GL3.h. Snippet below,
> 
> /* Function declaration macros - to move into glplatform.h */
> 
> #if defined(_WIN32) && !defined(APIENTRY) && !defined(__CYGWIN__) && !defined(__SCITECH_SNAP__)
> #define WIN32_LEAN_AND_MEAN 1
> #include <windows.h>
> #endif
> 
> 
> #if defined(__APPLE__)
> #define GL3_PROTOTYPES
> #endif
> 
> #ifndef APIENTRY
> #define APIENTRY
> #endif
> #ifndef APIENTRYP
> #define APIENTRYP APIENTRY *
> #endif
> #ifndef GLAPI
> #define GLAPI extern
> #endif
> 
> /* Base GL types */
> #include <OpenGL/gltypes.h>
> 
> #ifdef __cplusplus
> extern "C" {
> #endif
> 
> 
> But the source only had these includes:
> 
> #include <GL/gl.h>
> #include <GL/glu.h>
> 
> which I patched with OpenGL.
> 
> From GL3.h:
> 
> * gl3.h is supposed to only include APIs in a OpenGL 3.1 (without
> * GL_ARB_compatibility) or OpenGL 3.2 or later core profile
> * implementation, as well as interfaces for newer ARB extensions which
> * can be supported by the core profile. It does not, and never will
> * include functionality removed from the core profile, such as
> * fixed-function vertex and fragment processing.
> *
> * Implementations of OpenGL 3.1 supporting the optional
> * GL_ARB_compatibility extension continue to provide that functionality,
> * as do implementations of the OpenGL 3.2+ compatibility profiles, and
> * source code requiring it should use the traditional <GL/gl.h> and
> * <GL/glext.h> headers instead of <GL3/gl3.h>.
> *
> * It is not possible to #include both <GL3/gl3.h> and either of
> * <GL/gl.h> or <GL/glext.h> in the same source file.
> 
> Do I need to patch the source and replace the GL includes with GL3? 
> 
> 
> Mark Brethen
> mark.brethen at gmail.com
> 
> 
> 
>> On Nov 13, 2018, at 8:57 AM, Chris Jones <jonesc at hep.phy.cam.ac.uk> wrote:
>> 
>> 
>>> Perhaps a semicolon is needed? i.e.
>>> int APIENTRY;
>>> glutExtensionSupported(const char *extension)
>> 
>> nope, that is definitely invalid code.
>> 
>> As Joshua said, you need to investigate how APIENTRY is defined.
>> 
>> Chris
>> 
> 



More information about the macports-dev mailing list