Habilitando OpenGL em wxWidgets
Pergunta
Instalei o código fonte do wxWidgets, compilei e estou vinculando as bibliotecas assim obtidas com o código da minha aplicação.Agora preciso usar OpenGL em meu aplicativo wxWidgets.Como faço para habilitar isso?
Solução
Para construir no Windows com arquivos de projeto:
Suponha que $(WXWIDGETSROOT) seja o diretório raiz da instalação do wxWidgets.
- Abra o arquivo $(WXWIDGETSROOT)\include\wx\msw\setup.h
- Procure o
#define
parawxUSE_GLCANVAS
. - Altere seu valor de 0 para 1.
- Recompile a biblioteca.
Para construir em Linux e outros ./configure
plataformas baseadas:
Apenas use ./configure --with-opengl
(Uma resposta mashup de duas respostas parciais dadas por outros)
Outras dicas
Se você estiver usando configure
para construir wxWidgets você só precisa adicionar --with-opengl
para sua linha de comando.
Só para acrescentar um pouco...Se você estiver no Linux, precisará observar os logs ao executar o configure.Se não conseguir encontrar os pacotes opengl dev, ele desligará o opengl com uma linha de aviso que é fácil de perder.
execute-o assim para tornar mais óbvio quais bibliotecas de desenvolvimento estão realmente faltando (parece que --with-opengl está ativado por padrão em 3.0.0 e possivelmente em versões anteriores de wxwidgets, mas não custa nada incluir isso eu suspeito).
./configure --with-opengl > configure.log
Depois que o configure puder encontrar todas as bibliotecas de desenvolvimento que você pensa que usará, será necessário reconstruir os wxwidgets:
make
sudo make install
Eu tive que instalá-los no linux mint para deixar a configuração do wxwidget feliz no que diz respeito ao opengl (e também deveria funcionar para o ubuntu) para obter as bibliotecas de desenvolvimento que eu precisava.
sudo apt-get install mesa-common-dev
sudo apt-get install freeglut3-dev
(Suponha que $(WX_WIDGETS_ROOT) seja o diretório raiz da instalação do wxWidgets.)
- Abra o arquivo $(WX_WIDGETS_ROOT)\include\wx\msw\setup.h
- Pesquise e encontre a opção wxUSE_GLCANVAS.Altere seu valor de 0 para 1.
- Recompile a biblioteca.