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?

Foi útil?

Solução

Para construir no Windows com arquivos de projeto:

Suponha que $(WXWIDGETSROOT) seja o diretório raiz da instalação do wxWidgets.

  1. Abra o arquivo $(WXWIDGETSROOT)\include\wx\msw\setup.h
  2. Procure o #define para wxUSE_GLCANVAS.
  3. Altere seu valor de 0 para 1.
  4. 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.)

  1. Abra o arquivo $(WX_WIDGETS_ROOT)\include\wx\msw\setup.h
  2. Pesquise e encontre a opção wxUSE_GLCANVAS.Altere seu valor de 0 para 1.
  3. Recompile a biblioteca.
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top