Habilitando OpenGL en wxWidgets
Pregunta
Instalé el código fuente de wxWidgets, lo compilé y estoy vinculando las bibliotecas así obtenidas con el código de mi aplicación.Ahora necesito usar OpenGL en mi aplicación wxWidgets.¿Cómo habilito esto?
Solución
Para construir en Windows con archivos de proyecto:
Supongamos que $(WXWIDGETSROOT) es el directorio raíz de su instalación de wxWidgets.
- Abra el archivo $(WXWIDGETSROOT)\include\wx\msw\setup.h
- buscar el
#define
parawxUSE_GLCANVAS
. - Cambie su valor de 0 a 1.
- Vuelva a compilar la biblioteca.
Para construir en Linux y otros ./configure
plataformas basadas:
Solo usa ./configure --with-opengl
(Una respuesta combinada de dos respuestas parciales dadas por otros)
Otros consejos
Si estas usando configure
para construir wxWidgets solo necesitas agregar --with-opengl
a su línea de comando.
Sólo para añadir un poquito...Si estás en Linux, necesitas mirar los registros cuando ejecutas configure.Si no puede encontrar los paquetes de desarrollo de opengl, lo desactivará con una línea de advertencia que es fácil de pasar por alto.
ejecútelo de esta manera para que sea más obvio qué bibliotecas de desarrollo te faltan (parece que --with-opengl está activado de forma predeterminada en 3.0.0 y posiblemente en versiones anteriores de wxwidgets, pero no está de más incluir eso sospecho).
./configure --with-opengl > configure.log
Una vez que la configuración pueda encontrar todas las bibliotecas de desarrollo que cree que va a utilizar, deberá reconstruir los wxwidgets:
make
sudo make install
Tuve que instalarlos en Linux Mint para que la configuración de wxwidget fuera feliz en lo que respecta a opengl (y también debería funcionar para ubuntu) para obtener las bibliotecas de desarrollo que necesitaba.
sudo apt-get install mesa-common-dev
sudo apt-get install freeglut3-dev
(Supongamos que $(WX_WIDGETS_ROOT) es el directorio raíz de su instalación de wxWidgets).
- Abra el archivo $(WX_WIDGETS_ROOT)\include\wx\msw\setup.h
- Busca y encuentra la opción wxUSE_GLCANVAS.Cambie su valor de 0 a 1.
- Vuelva a compilar la biblioteca.