IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Ogre Discussion :

Ogre 3D, Projet à partir de rien..


Sujet :

Ogre

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Développeur de jeux vidéo
    Inscrit en
    Mars 2012
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur de jeux vidéo

    Informations forums :
    Inscription : Mars 2012
    Messages : 5
    Points : 7
    Points
    7
    Par défaut Ogre 3D, Projet à partir de rien..
    Bonjours,
    Je voulais essayer d'utilisé ogre 3D a partir de rien, mais a chaque fois j'ai les mêmes problèmes, j'ai pourtant suivi le tuto
    http://bauland.developpez.com/tutori...iel2-debutant/

    puis, j'ai même pas le temps d'arriver a la moitié du tuto que mon programme me gâte d'erreurs

    Voici mon simple code;
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    #if OGRE_PLATFORM == OGRE_PLATFORM_WIN32
    #define WIN32_LEAN_AND_MEAN
    #include <windows.h>
    #endif
    #include <Ogre.h>
     
    using namespace Ogre;
     
    #if OGRE_PLATFORM == OGRE_PLATFORM_WIN32
    INT WINAPI WinMain( HINSTANCE hInst, HINSTANCE, LPSTR strCmdLine, INT )
    #else
    int main(int argc, char *argv[])
    #endif
    {
    try{
    Ogre::Root* root=new Ogre::Root();
     
    if(!root->restoreConfig()){
    if(!root->showConfigDialog()){
    delete root;
    return -1;
    }
    }
    Ogre::RenderWindow* pRenderWindow;
    pRenderWindow = mRoot->initialise(true,"Test Application");
     
    delete root;
    }catch(Ogre::Exception e){
    #if OGRE_PLATFORM == OGRE_PLATFORM_WIN32
    MessageBox(NULL,e.getFullDescription(),
    "Erreur d'initialisation de l'objet Root",MB_OK|MB_ICONERROR|MB_TASKMODAL);
    #else
    std::cerr << "Une exception a été levée: " << e.getFullDescription().c_str() << std::endl;
    #endif
    }
    return 0;
    }
    Oui j'ai bien fais un projets vide et application windows et oui j'ai bien tout modifier le projet "Include, Librairie etc..."

    Sur le site, la personne dit;
    Vous pouvez compiler et lancer l'application : une fenêtre de configuration s'ouvrira selon que vous avez déjà ou non un fichier ogre.cfg (vous pouvez l'effacer pour voir la conséquence sur le lancement de l'application). Un écran noir s'affiche puis l'application se termine.
    Mais, j'ai pas d'écran noir, ni de fenêtre, en faite j'ai rien
    mise à part des erreurs (6 erreurs au totale, je trouve que ça fait beaucoup pour le code) pas vous ?

    Voici mes erreurs
    Erreur 1: error C2065: 'mRoot'*: identificateur non déclaré Fichier main.cpp Ligne 27
    Erreur 2: error C2227: la partie gauche de '->initialise' doit pointer vers un type class/struct/union/générique Fichier main.cpp Ligne 27
    Erreur 3: error C2664: 'MessageBoxW'*: impossible de convertir le paramètre 2 de 'const Ogre::String' en 'LPCWSTR' Fichier main.cpp Ligne 33
    IntelliSense 4: IntelliSense*: identificateur "mRoot" non défini Fichier main.cpp Ligne 25
    IntelliSense 5: IntelliSense*: il n'existe aucune fonction de conversion appropriée de "const Ogre::String" en "LPCWSTR" Fichier main.cpp Ligne 30
    IntelliSense 6: IntelliSense*: l'argument de type "const char *" est incompatible avec le paramètre de type "LPCWSTR" Fichier main.cpp Ligne 31
    Enfin voilà, je ne comprends pas d'où viennent les erreurs, encore moins pourquoi ils en as au début du code...

    J'espère que vous pourriez m'aider ou même m'éclaircir.
    Merci et à Bientôt

  2. #2
    Futur Membre du Club
    Homme Profil pro
    Développeur de jeux vidéo
    Inscrit en
    Mars 2012
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur de jeux vidéo

    Informations forums :
    Inscription : Mars 2012
    Messages : 5
    Points : 7
    Points
    7
    Par défaut Codes à remplacés
    J'ai trouver la solution, alors j'explique;

    Faut simplement remplacer les codes;
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    	Ogre::RenderWindow* pRenderWindow;
    	pRenderWindow = mRoot->initialise(true,"Application");
    Par;
    	Ogre::RenderWindow* pRenderWindow=NULL;
    	pRenderWindow=root->initialise(true,"Application");
    et puis;
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    	MessageBox(NULL,e.getFullDescription(),
    	        "Erreur d'initialisation de l'objet Root",MB_OK|MB_ICONERROR|MB_TASKMODAL);
    Par;
    	MessageBoxA( NULL, e.getFullDescription().c_str(),
    	        "Erreur d'initialisation de l'objet Root",MB_OK|MB_ICONERROR|MB_TASKMODAL);
    Ce qui nous donne un code;
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    #if OGRE_PLATFORM == OGRE_PLATFORM_WIN32
    #define WIN32_LEAN_AND_MEAN
    #include <windows.h>
    #endif
    #include <Ogre.h>
     
    using namespace Ogre;
     
    #if OGRE_PLATFORM == OGRE_PLATFORM_WIN32
       INT WINAPI WinMain( HINSTANCE hInst, HINSTANCE, LPSTR strCmdLine, INT )
    #else
       int main(int argc, char *argv[])
    #endif
       {
    	try{
     
    	// Creation de l'objet root
    	Ogre::Root* root=new Ogre::Root();
    	// Creation de l'objet RenderWindow
    	if(!root->restoreConfig()){// Test si un fichier de config existe deja
     
    	   if(!root->showConfigDialog()){ // Test si, suite a l'affichage de la boite de dialogue, l'utilisateur a appuyer sur OK ou Annuler
    	      delete root;
    	      return -1; // On ressort avec un code d'erreur, car l'affichage ne peut etre creer
    	   }
    	}
     
    	Ogre::RenderWindow* pRenderWindow=NULL;
    	pRenderWindow=root->initialise(true,"1er Fenêtre");
     
    	// Nettoyage de l'objet Ogre: celui-ci se charge de détruire les entités, les caméras ...
    	delete root;
    	}catch(Ogre::Exception e){
    		#if OGRE_PLATFORM == OGRE_PLATFORM_WIN32
    			MessageBoxA( NULL, e.getFullDescription().c_str(),
    			        "Erreur d'initialisation de l'objet Root",MB_OK|MB_ICONERROR|MB_TASKMODAL);
    		      #else
    			std::cerr << "Une exception a été levée: " << e.getFullDescription().c_str() << std::endl;
    		     #endif
    	}
        return 0;
    }
    Voilà, avec ces codes remplacés j'ai plus d'erreurs, donc pour ceux qui ont le même problème, ça devrait être bon

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 7
    Dernier message: 02/07/2007, 14h37
  2. Appel d'un projet à partir d'un autre
    Par kazhar dans le forum VB.NET
    Réponses: 2
    Dernier message: 26/02/2007, 10h16
  3. Creer une popup à partir de rien
    Par Gruik dans le forum Général JavaScript
    Réponses: 10
    Dernier message: 03/11/2006, 17h02
  4. [PDF] génération de pdf à partir de . . . rien?
    Par bakonu dans le forum Documents
    Réponses: 4
    Dernier message: 19/06/2006, 13h09
  5. Réponses: 8
    Dernier message: 04/09/2003, 16h07

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo