He instalado GLEW usando desde el código fuente usando:
hacer GLEW_DEST = "$ HOME/local" OPT = "- march = Core2 -O2" install.all
Sus optimizaciones y destinos puede variar. Esto produce un libGLEW.a, libGLEWmx.a, y sus contrapartes dylib en $HOME/local/lib
. El subdirectorio pkgconfig
también incluirá glew.pc
. GLEW no siempre juega bien con los demás tampoco. Tener que establecer variables globales como glewExperimental
, así como la necesidad de tener cuidado con el orden de inclusión de otras cabeceras: <OpenGL/gl3.h>
o <glfw.h>
, etc.
Si puedo ofrecer algunos consejos - olvidemos SDL para la programación GL moderna. Si desea ingresar a pure, GL moderno en OS X. - considerar algo como:
#if defined (__APPLE_CC__)
#include <OpenGL/gl3.h>
#else
#include <GL/gl3.h> /* assert OpenGL 3.2 core profile available. */
#endif
#define GLFW_INCLUDE_GL3 /* don't drag in legacy GL headers. */
#define GLFW_NO_GLU /* don't drag in the old GLU lib - unless you must. */
#include <GL/glfw.h> /* simple and easy to use. omit legacy GL. */
Instalación GLFW es bastante fácil también:
> env prefix = "$ HOME/local" CFLAGS = "- march = Core2 -O2" hacer cacao cacao dist-install
Nuevamente, su configuración puede variar.
20160412: Mis comentarios acerca de SDL están fuera de fecha, como otros han señalado. Particularmente si estás trabajando en otro motor. Sigo diciendo que glfw3 es una forma más fácil de hacer aplicaciones OpenGL modernas en OSX. Está muy bien escrito y mantenido código, con un enfoque (correctamente!) Estrecho en GL y manejo de eventos. Obviamente, desde una perspectiva de 'motor', SDL2 proporciona API de video extendidas, API de audio, API de subprocesos portátiles, etc. Aunque con C11 y C++ 11, incluso una capa de abstracción de API de subprocesos quizás sea redundante.
GLEW es problemático porque no puede manejar contextos múltiples sin una amplia intervención del usuario. Esto no es un problema para OSX, que proporciona una API de perfil central y no necesita cargar 'puntos de función'. IIRC, GL en X (¿DRI?) Tiene esto también, pero podría estar equivocado al respecto. Hay otros cargadores por ahí. Todavía estoy esperando uno que los gobierne a todos, lo que garantiza que los diferentes punteros de las funciones se carguen para contextos múltiples si es necesario, y utiliza un subproceso local (o incluso una clave pthread) para el despacho correcto, que se puede generar desde el último gl .xml de Khronos, o quien sea ...
Sugeriría usar un sistema de puertos como macports, fink, homebrew ya que los autores habrán hecho el trabajo de portar el proceso de compilación a OSX. En este caso, el enlazador OSX no comprende -compartió, así que necesita usar su equivalente y habrá varios otros problemas – Mark
, ya que dije que utilicé Macports y dijo que había tenido éxito, pero no hay nada instalado – Constan7ine
¿Qué hizo 'sudo port install glew' dar como un error? – Mark