Ponto V!

Home Ogre 3D Instalando Ogre 1.8 no Visual C++ 2010
Jonathan Ohara de Araujo
Instalando Ogre 1.8 no Visual C++ 2010Imprimir
Escrito por Jonathan Araujo

Nos últimos meses foi lançada a versão 1.8 da engine Ogre 3D. Nesse artigo vamos atualizar o nosso ambiente de desenvolvimento.

A nova versão do Ogre chamada Byatis (http://en.wikipedia.org/wiki/Byatis) traz principalmente melhorias de desempenho, muitas melhorias na parte de Terreno entre outras, o changelog completo pode ser conferido aqui: http://www.ogre3d.org/tikiwiki/tiki-index.php?page=ByatisNotes.

Downloads

Primeiramente baixe o SDK através do site do Ogre3D clicando aqui: http://www.ogre3d.org/download/sdk.

O segundo passo é instalar o Visual C++ 2010 (http://www.microsoft.com/visualstudio/ptb/downloads#d-2010-express). Como foram realizadas muitas mudanças no modo de configuração de projeto no Visual C++ 2008 para o 2010 esse artigo focará na versão 2010. Para quem deseja realizar o processo no Visual C++ 2008 sugiro que confira o artigo do Kleber aqui no portal no endeço http://www.pontov.com.br/site/ogre3d/208-instalando-e-usando-ogre-no-visual-c-2008, já que o processo é praticamente o mesmo.

Atenção: já existe disponível a versão 2012 do Visual C++ e o que tudo indica é que o Ogre 3d funciona perfeitamente também neste e o procedimento deve ser o mesmo.

Outro item interessante que recomendo para download é o Ogre App Wizard, que criará um Wizard no seu ambiente, ou seja, quando você clicar em New Project em sua IDE, lá terá uma opção Ogre 3D Project, com tudo configurado para você já sair programando. Para baixar clique no link http://www.ogre3d.org/forums/viewtopic.php?f=5&t=54819, note que existem vários wizards para diferentes IDEs de desenvolvimento.

Configurando seu ambiente

Ao terminar de baixar a SDK abra o arquivo e mande descompactar na pasta de sua preferência. Note que será criado uma pasta com o nome OgreSDK_vc10_v1-8 (ou similar, depedendo da versão do SDK), sugiro que deixe um nome mais amigável como OgreSDK_1-8 ou até mesmo OgreSDK.

Após descompactar basta criar uma variável de ambiente chamada OGRE_HOME e colocar nela o caminho do diretório da instalação do Ogre 1.8.

Para realizar essa operação realize o seguinte procedimento:

  • Botão direito no Meu Computador -> propriedades;
  • No seu lado esquerdo clique em Configurações avançadas do sistema:clip_image002
  • Na aba Avançado clique no botão Variáveis de Ambiente:

clip_image004

  • Clique em novo, em nome da variável coloque OGRE_HOME, e, onde está Valor da variável coloque seu diretório de instalação do Ogre 3D e de OK.

clip_image006

Configurando seu projeto

Feito toda essa parte, é hora de criarmos um novo projeto no Visual C++ e configurarmos algumas coisas. Se você está usando o Ogre App Wizard você já está pronto para começar a programar.

Primeiramente aperte File -> New -> Project;

Escolha a opção Win32 Project de um nome ao se projeto e de OK como mostra a figura abaixo.

clip_image008

Clique em Next na primeira janela do Wizard e na segunda janela deixe checado as opções Windows Application e Empty Project como mostra a figura a seguir.

clip_image010

Aperte Finish e seu projeto estará criado.

Com o projeto criado, é preciso configura-lo para que este encontra as bibliotecas do Ogre, para tal, acesse as Propriedades do projeto clicando com o botão direito no nome do projeto e selecionando Properties:

clip_image012

Em Configuration (configurações) escolha All Configurations, isso evita que seja preciso repetir o processo para cada configuração:

clip_image014

Em General, mude a opção Character Set para Use Multi-Byte Character:

clip_image016

Expanda a opção C/C++ -> General edite a opção Additional Include Directories, para indicarmos ao compilador onde ele vai encontrar os arquivos de cabeçalho (arquivos .h) do Ogre, basta então adcionar as seguintes linhas:

$(OGRE_HOME)\include
$(OGRE_HOME)\include\OIS
$(OGRE_HOME)\include\OGRE
$(OGRE_HOME)\Samples\Common\include
$(OGRE_HOME)\boost

clip_image020

Expanda a opção Linker –> General, onde iremos dizer ao Linker onde encontrar as bibliotecas do Ogre editando a opção Additional Library Directories e adicionando as seguinte linhas:

$(OGRE_HOME)\lib\$(Configuration)
$(OGRE_HOME)\boost\lib

clip_image022

Agora por fim, selecione a opção Linker –> Input, onde iremos dizer ao Linker quais bibliotecas ele deve incluir na construção. O Ogre vem com duas opções de bibliotecas, em modo Debug e em modo Release. No modo Debug a biblioteca não é otimizada e é a versão própria para desenvolvimento e testes, já a versão Release é a versão de produção, que você vai utilizar quando for distribuir sua aplicação. Primeiramente, nude sua configuração para o modo Debug como mostra a figura abaixo:

clip_image026

Em seguida, edite a opção Additional Dependencies adicionando as seguinte linhas:

OgreMain_d.lib
OIS_d.lib

clip_image028

Agora, mude sua configuração para o modo Release e edite a opção Additional Dependencies adicionando as seguinte linhas:

OgreMain.lib 
OIS.lib 

Pronto após isso seu projeto estará configurado para compilar com Ogre 1.8.

Configurando a Execução do Programa

Ao compilar seu projeto, o Visual C++ vai gerar o executável do seu programa e ao pressionar CTRL+F5 ele vai ser executado. Mas o executável precisa dos arquivos de DLL do Ogre e não vai encontrá-los, isso vai causar erros. Além disso, o executável vai precisar dos arquivos de dados, como modelos, texturas, etc.

Para encontrar as DLLs, precisamos lembrar que o Windows ao iniciar um programa procura DLL em alguns lugares pré-definidos, como:

  • O diretório onde o arquivo executável se encontra
  • O diretório onde o programa esta sendo executado (o diretório do arquivo executável e o diretório de execução não precisam ser necessáriamente os mesmos)
  • Diretórios do sistema (como c:\windows)
  • Diretórios listados no PATH do sistema.

Vamos então resover essa questão com dois passos, configurando o Visual para:

  • rodar o programa no diretório onde se encontram os arquivos de arte
  • incluir no PATH o diretório onde se encontram as DLLs do Ogre

Agora vamos configurar nosso executável para ele rodar como se estivéssemos na pasta bin do Ogre, ou seja, fazendo isso não teremos de copiar todas as dll’s e arquivos de configurações do Ogre para nosso projeto.

Então novamente acesse as propriedades do projeto, clique em Debugging e troque os seguintes valores:

Command:

        $(TargetPath)

Working Directory é o diretório onde o programa será executa e onde ele vai procurar resources como os arquivos ogre.cfg, plugins.cfg e resources.cfg, arquivos de arte, etc. Recomendo apontar esse diretório para uma subpasta no seu projeto como mostra abaixo:

$(ProjectDir)work

Finalmente em Envrioment coloque:

PATH=$(OGRE_HOME)\bin\$(Configuration)

Veja como ficara o Debugging na figura a seguir:

Imagem 12

Item Opcional

Outro modo de se configurar a execução do programa, que eu não eu recomendo, porem, é importante citar pois é o “recomendado” no wiki do Ogre é copiar o programa executável para a pasta bin do Ogre e executar seu aplicativo por lá, isso acaba gerando muita sujeira na pasta bin do ogre. Caso queira configurar desse jeito (que é o jeito como trabalhao App Wizard) siga os seguintes passos.

Novamente, nas propriedades do projeto, expanda o Sub Menu Build Events -> Post Build Event e edite a opção Command Line adicionando a seguinte linha:

copy "$(OutDir)\$(TargetFileName)" "$(OGRE_HOME)\Bin\$(Configuration)"

Imagem 13

Conclusão

Nesse artigo atualizamos nosso ambiente de desenvolvimento. Sugiro testar usando o código do artigo Primeiro Programa com o Ogre 3D, onde para facilitar fiz um projeto já configurado que pode ser baixado aqui (colocar link para arquivo .zip).

Para entender melhor como funciona a compilação de um programa C/C++ e o porque da necessidade de todos os passos acima, sugiro a leitura de Compilação de Programas C/C++.

download


Comentários (26)
  • Thiago Prado  - OSX OGRE3D
    avatar

    Se puder fazer uma manual de instalação no XCODE 4.5 eu ia agradeço, por que pastei tentando instalar, e seguindo tutoriais e não consegui deixar funcional.

  • Anônimo
    avatar

    Duvido que seja muito diferente de qualquer outro ambiente C++: configurar diretório de includes e diretório de bibliotecas.

  • Thiago Prado  - OSX OGRE3D
    avatar

    Pelo contrario, é bem complicado. Consigo compilar do código fonte, mas não consigo configurar a versão do xcode 4.5.2 para compilar qualquer outro código em C++ com ogre3d. Tentei seguir muitos tutoriais, mas nenhum deu certo no Ubuntu consegui facinho ate escrevi um tutorial pra facilitar minha vida quando precisar http://lamarcwalker.wordpress.com/2013/01/31/ubuntu-instalando-ogre3d- 1-8-1-source-qt-creator-2-5-ogre-appwizard-1-8-0-for-qt-creator/ porem os templates no xcode são extremamente complexo e chatos para se trabalhar, e criar um projeto do zero demora muito para configurar e ele continua dando vários erros estranhos.

  • Bruna Araújo
    avatar

    Temos que executar esses passos sempre que criarmos um novo projeto?

  • Anônimo
    avatar

    Bruna, somente aqueles referentes a configuração do projeto. Configuração de variáveis de ambiente, instalação do Ogre, apenas uma vez.

  • Bruna Araújo
    avatar

    Eu configurei de acordo com o tutorial mas quando fui executar apareceu a seguinte mensagem:

    Unable to start program
    'C:\Users\Bruna\projetos-RV\TutorialOgre\Debug\ ;TutorialOgre.exe'

    'C:\Users\Bruna\projetos-RV\TutorialOgre\Tut orialOgre\work' is not a
    valid working directory.

    O que devo fazer?

  • Anônimo
    avatar

    Tem um ; antes de TutorialOgre.exe, isso já é um problema.

    O segundo caminho tem um espaço em branco "Tut orial", quepode ser outro problema.

    T+

  • Rick  - Problema ao rodar o exemplo
    avatar

    olá senhor Jonathan Araujo.
    estou tendo muita dificuldade em rodar o exemplo 1 no visual studio 2010.
    já fiz o tutorial de instalação com toda a atenção do mundo mais mesmo assim não obtive sucesso algum.
    quando tento executar o exemplo ele dá o seguinte error:

    1>------ Rebuild All started: Project: pontov_tutorial_01, Configuration: Debug Win32 ------
    1> Tutorial1.cpp
    1>c:\ogresdk_vc10_v1-8-1\include\ogre\threading\og rethreadheadersboost.h(37): fatal error C1083: Cannot open include file: 'boost/thread/tss.hpp': No such file or directory
    ========== Rebuild All: 0 succeeded, 1 failed, 0 skipped ==========

    se puder me ajudar ficarei grato
    atenciosamente
    Rick

  • Anônimo
    avatar

    estranho o erro, o ogre usa a boost, mas que eu me lembre eles já incluíam tudo.

    De qualquer forma, temos um artigo aqui mostrando como instalar a boost:
    http://www.pontov.com.br/site/index.php/cpp/41-visual-c/293-compilando -a-boost-com-visual-c-versao-2010

  • Emerson Max
    avatar

    É tão complicado configurar o Ogre em IDE .-.
    to tão acostumado a usar pkg-config OGRE OIS --cflags --libs nos Makefiles xD

  • Bruna Araújo
    avatar

    Seguindo o tutorial dá tudo certo até a parte do "Configurando a execução do programa"
    Resolvi então instalar o AppWizard do Ogre e editar alguma coisas que estivesse diferente do tutorial acima.
    Novamente tive problema na hora de configurar a execução do programa.

    O meu projeto só "roda" se estiver com estas configurações:
    1.comand: $(OGRE_HOME)\Bin\$(Configuration)\$(ProjectName).exe
    3.working diretory: $(OGRE_HOME)\Bin\$(Configuration)
    6.enviroment: PATH=$(OGRE_HOME)\bin\$(Configuration)

    Se eu tentar mudar para
    $(TargetPath)
    $(ProjectDir)work
    PATH=$(OGRE_HOME)\bin\$(Configuration)

    não funciona mais.

    Qual seria sua opinião a respeito disso?
    A pasta bin do Ogre fica com todos os executáveis do projeto. Há algum problema nisso?

  • Anônimo
    avatar

    Qual erro ocorre?

    O problema de jogar tudo no bin do Ogre é que aos poucos ele vai sendo entulhado com arquivos de diversos projetos, eu acho péssimo esse procedimento adotado pelo wizard e por isso não recomendo o seu uso.

  • Gbr2060
    avatar

    no meu menu properties não tem a aba c/c++ o que poderia ser isso? --'

  • Anônimo
    avatar

    Seu projeto esta vazio ou você não criou ele como C/C++. Adicione um arquivo .cpp que vai aparecer.

  • Renan  - Duvida
    avatar

    Ola,

    gostaria de perguntar,
    para o desenvolvimento de jogos, qual seria o motor grafico mais indicado: ogre3d ou opengl? Gostaria de por o nome da irrlicht tambem. Ela seria uma boa opcao para jogos?
    Vlw..

  • Anônimo
    avatar

    OpenGL não é motor, é uma API para gráficos 3d, então não tem sentido comparar com Ogre3d.

    Ogre3d é um motor gráfico, não possui funcionalidades de gameplay.

    irrlitch já é um motor mais completo.

    O qual usar é muito relativo, depende muito do seu projeto e do que você pretende fazer, além de quanto trabalho você vai querer ter.

  • Mariano Silva  - Duvida - erro
    avatar

    Eu segui o tutorial, e instalei o wisard, mas quando tento compilar um projeto acontece o seguinte erro:

    ClCompile:
    1> OgreApp2.cpp
    1>c:\users\marianoo\documents\visual studio 2010\projects\ogreapp2\ogreapp2\include\baseapplic ation.h(21): fatal error C1083: Não é possível abrir arquivo incluir: 'OgreCamera.h': No such file or directory
    1> BaseApplication.cpp
    1>c:\users\marianoo\documents\visual studio 2010\projects\ogreapp2\ogreapp2\include\baseapplic ation.h(21): fatal error C1083: Não é possível abrir arquivo incluir: 'OgreCamera.h': No such file or directory
    1> Gerando Código...
    1>
    1>FALHA da compilação.


    Se alguem souber o porque da falta desse arquivo, me ajuda pls

  • Anônimo
    avatar

    Isso quer dizer que o compilador não encontrou os arquivos de include, o que significa que foi cometido algum erro durante a configuração destes. Verifique os passos do tutorial e cheque se tudo esta feito de forma correta.

  • Mariano Silva  - Duvidas
    avatar

    Eu ja tentei reconfigurar, testei varias SDK, mas não vai sempre da erro em algum include, nem com o wizzard, funciona, se alguem pudesse me passar uma sdk que funcione com esse tutorial ou um método de instalar no eclipse seria perfeito.


    Grato

  • Anônimo
    avatar

    O processo para se configurar no eclipse é provavelmente o mesmo, mas tem que se descobrir onde no eclipse se especifica diretórios de include.

  • Mariano Silva  - Duvidas
    avatar

    Finalmente consegui acertar todos os includes, porem quando vai compilar ele da incompatibilidade com meu sistema, pois ele é 64 e o exemplo q esta disponível pra download é 32. Tem como fazer a conversão ? ou tem um projeto em 64 para baixar ?

  • Anônimo
    avatar

    Basta mudar a configuração do projeto para 64 bits ou 32 bits. Não sei se por sistema você esta falando do sistema operacional, IDE, compilador ou o projeto de alguma biblioteca.

    Mas independente de qual for, basta ajustar a compilação para 32 bits ou 64 bits.

  • Felipe  - Erro na inclusão do OgreOverlaySystem.h
    avatar

    Olá,
    Estava testando esse tutorial com vc10 e com o sdk 1.9. Funciona muito bem, até a inclusão da SdkTrays.h, ai aparece o seguinte erro (1>C:\OgreSDK\include\OGRE\SdkTrays.h(32): fatal error C1083: Cannot open include file: 'OgreOverlaySystem.h': No such file or directory) de include falando que não foi possível achar o arquivo, mudei o caminha mas mesmo assim aparecem outros erros de link depois.

  • Anônimo
    avatar

    OgreOverlay e outros viraram component e agora estão em outro diretório. Só procurar na estrutura do ogre que você vai achar o arquivo, dai é adicionar o diretório dele as configurações de include do compilador.

  • João Cássio  - Muito bom, funcionou!!
    avatar

    Olá, funcionou perfeito aqui e uso o VSC++ 2012, mas só consegui abrir direto da pasta bin do Ogre.
    _________
    Agora tenho uma dúvida e queria a ajuda de vocês, como eu faço pra criar uma caixa com o Ogre e botões para controlar com o mouse, existe uma classe OSHGUI (http://gui.oldschoolhack.de/) poderiam fazer um tutorial sobre também.
    Grato.

  • João Cásio  - Falta de atenção minha!
    avatar

    Me desculpem pelo Double post, mas acabei de encontrar material sobre GUI aqui mesmo no PontoV. Obrigado.

Escrever um comentário
Your Contact Details:
Gravatar enabled
Comentário:
[b] [i] [u] [url] [quote] [code] [img]   
:angry::0:confused::cheer:B):evil::silly::dry::lol::kiss::D:pinch::(:shock:
:X:side::):P:unsure::woohoo::huh::whistle:;):S:!::?::idea::arrow:
Security
Por favor coloque o código anti-spam que você lê na imagem.
LAST_UPDATED2  

Busca

Linguagens

Twitter