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

C++ Discussion :

erreur definition sfml netbeans


Sujet :

C++

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2011
    Messages
    25
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Janvier 2011
    Messages : 25
    Par défaut erreur definition sfml netbeans
    Bonjour,
    Je suis sous netbeans et je développe avec la SFML.
    J'ai récemment résolu un problème d'inclusion de fichier au projet mais désormais un autre soucis arrive.
    Quand j'essaye d'assigner une image à un sprite j'ai une erreur, ou plein en fait.

    Mon main contient ça (c'est encore en phase de test).
    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
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
     
    #include <SFML/Graphics.hpp> 
    #include <SFML/System.hpp> 
    #include <SFML/Audio.hpp>
    #include <SFML/Network.hpp>
    #include <SFML/Window.hpp>
     
    #include <iostream> 
     
    #include "Bloc.cpp"
     
    using namespace std;
    using namespace sf;
     
     
    int main()
    {
        std::string buffer;
        bool runApplication = true;
     
        sf::RenderWindow App(sf::VideoMode(800,640,32),"Fenetre 1");
        App.SetPosition(0,0);
        App.Clear();
        App.Display();
     
     
       View Vue1;
        App.SetView(Vue1);
     
    //    Bloc b0;
    //    b0.MoveBloc(0,0);
    //    b0.image.LoadFromFile("test_image.jpg");
     
        sf::Image Image;
        Image.LoadFromFile("test_image.jpg");
        sf::Sprite Sprite;
        Sprite.SetImage(Image);
     
        App.Display();
     
        while(runApplication)
        {
             sf::Event Event;
     
            while(App.GetEvent(Event))
            {
                 if (Event.Type == sf::Event::Closed){
                        App.Close();
                        runApplication = false;
                 }
     
                if(Event.Type = sf::Event::KeyPressed)
                {
                   // cout << Event.Key.Code << endl;
                }
            }
        }
        return EXIT_SUCCESS;
    }
    Mon code erreur est :
    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
     
    c:/Users/Eternal/Desktop/Dev/C++/SFML-1.6/lib/libsfml-graphics-s-d.a(Sprite.o): In function `Sprite':
    D:/dev/sfml/sdk/SFML-1.6/src/SFML/Graphics/Sprite.cpp:38: multiple definition of `sf::Sprite::Sprite()'
    c:/Users/Eternal/Desktop/Dev/C++/SFML-1.6/lib/libsfml-graphics-d.a(d000129.o):(.text+0x0): first defined here
    c:/Users/Eternal/Desktop/Dev/C++/SFML-1.6/lib/libsfml-graphics-s-d.a(Sprite.o):D:/dev/sfml/sdk/SFML-1.6/src/SFML/Graphics/Sprite.cpp:64: multiple definition of `sf::Sprite::SetImage(sf::Image const&)'
    c:/Users/Eternal/Desktop/Dev/C++/SFML-1.6/lib/libsfml-graphics-d.a(d000127.o):(.text+0x0): first defined here
    c:/Users/Eternal/Desktop/Dev/C++/SFML-1.6/lib/libsfml-graphics-s-d.a(Drawable.o): In function `~Drawable':
    D:/dev/sfml/sdk/SFML-1.6/src/SFML/Graphics/Drawable.cpp:56: multiple definition of `sf::Drawable::~Drawable()'
    c:/Users/Eternal/Desktop/Dev/C++/SFML-1.6/lib/libsfml-graphics-d.a(d000168.o):(.text+0x0): first defined here
    c:/Users/Eternal/Desktop/Dev/C++/SFML-1.6/lib/libsfml-graphics-s-d.a(Image.o): In function `Image':
    D:/dev/sfml/sdk/SFML-1.6/src/SFML/Graphics/Image.cpp:43: multiple definition of `sf::Image::Image()'
    c:/Users/Eternal/Desktop/Dev/C++/SFML-1.6/lib/libsfml-graphics-d.a(d000077.o):(.text+0x0): first defined here
    c:/Users/Eternal/Desktop/Dev/C++/SFML-1.6/lib/libsfml-graphics-s-d.a(Image.o): In function `~Image':
    D:/dev/sfml/sdk/SFML-1.6/src/SFML/Graphics/Image.cpp:113: multiple definition of `sf::Image::~Image()'
    c:/Users/Eternal/Desktop/Dev/C++/SFML-1.6/lib/libsfml-graphics-d.a(d000082.o):(.text+0x0): first defined here
    c:/Users/Eternal/Desktop/Dev/C++/SFML-1.6/lib/libsfml-graphics-s-d.a(Image.o):D:/dev/sfml/sdk/SFML-1.6/src/SFML/Graphics/Image.cpp:124: multiple definition of `sf::Image::LoadFromFile(std::string const&)'
    c:/Users/Eternal/Desktop/Dev/C++/SFML-1.6/lib/libsfml-graphics-d.a(d000062.o):(.text+0x0): first defined here
    c:/Users/Eternal/Desktop/Dev/C++/SFML-1.6/lib/libsfml-graphics-s-d.a(Color.o): In function `Color':
    D:/dev/sfml/sdk/SFML-1.6/src/SFML/Graphics/Color.cpp:63: multiple definition of `sf::Color::Color(unsigned char, unsigned char, unsigned char, unsigned char)'
    c:/Users/Eternal/Desktop/Dev/C++/SFML-1.6/lib/libsfml-graphics-d.a(d000054.o):(.text+0x0): first defined heremake[2]: Leaving directory `/c/Users/Eternal/Documents/NetBeansProjects/CppApplication_3'
    make[1]: Leaving directory `/c/Users/Eternal/Documents/NetBeansProjects/CppApplication_3'
     
    collect2: ld returned 1 exit status
    make[2]: *** [dist/Debug/MinGW_V1-Windows/cppapplication_3.exe] Error 1
    make[1]: *** [.build-conf] Error 2
    make: *** [.build-impl] Error 2
    outre l'erreur que je ne comprend pas, je me demande si c'est bien normal de devoir inclure le fichier .cpp pour mes classes?

    Merci d'avance.

  2. #2
    Responsable 2D/3D/Jeux


    Avatar de LittleWhite
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2008
    Messages
    27 122
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Mai 2008
    Messages : 27 122
    Billets dans le blog
    148
    Par défaut
    Bonjour,

    Citation Envoyé par eternal_winds Voir le message
    outre l'erreur que je ne comprend pas, je me demande si c'est bien normal de devoir inclure le fichier .cpp pour mes classes?
    Non, il n'est absolument pas normal d'inclure des fichiers .cpp. Seul les .hpp doivent être inclut (et cela suffit)

    Corrigez cela et si vous avez d'autres erreurs, venez nous voir (notamment, je pense que vous inclusion de la bibliothèque dans l'éditeur des liens n'est juste ... mais je m'avance peut être).
    Vous souhaitez participer à la rubrique 2D/3D/Jeux ? Contactez-moi

    Ma page sur DVP
    Mon Portfolio

    Qui connaît l'erreur, connaît la solution.

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2011
    Messages
    25
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Janvier 2011
    Messages : 25
    Par défaut
    J'ai refait un projet tout simple avec le compilateur cygwin par defaut de netbeans. le résultat est qu'il ne trouve pas les fichiers que je lui demande d'inclure explicitement, c'est ce qu'on ma dit. d'ou une inclusion des cpp.
    main.cpp
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    #include <cstdlib>
    #include <string>
    #include "C1.h"
     
    using namespace std;
    int main(int argc, char** argv) {
     
        C1 item;
        item.chaine0 = "blop";
     
        return 0;
    }
    C1.h
    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
     
    #ifndef C1_H
    #define	C1_H
     
    #include <string>
     
    class C1 {
    public:
        C1();
        C1(const C1& orig);
        virtual ~C1();
        std::string chaine0;
    private:
     
    };
     
    #endif
    et C1.cpp
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    #include "C1.h"
     
    C1::C1() {
    }
     
    C1::C1(const C1& orig) {
    }
     
    C1::~C1() {
    }
    il n'y a rien de renversant mais ca ne marche pas.
    et ca me fait la même chose avec le compileur MinGW que j'ai installé en parallèle pour mon projet SFML.

    erreur
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    build/Debug/MinGW_V1-Windows/main.o: In function `main':
    /cygdrive/c/Users/Eternal/Documents/NetBeansProjects/CppApplication_4/main.cpp:9: undefined reference to `C1::C1()'
    /cygdrive/c/Users/Eternal/Documents/NetBeansProjects/CppApplication_4/main.cpp:12: undefined reference to `C1::~C1()'
    /cygdrive/c/Users/Eternal/Documents/NetBeansProjects/CppApplication_4/main.cpp:12: undefined reference to `C1::~C1()'

  4. #4
    Rédacteur/Modérateur


    Homme Profil pro
    Network game programmer
    Inscrit en
    Juin 2010
    Messages
    7 147
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : Canada

    Informations professionnelles :
    Activité : Network game programmer

    Informations forums :
    Inscription : Juin 2010
    Messages : 7 147
    Billets dans le blog
    4
    Par défaut
    Bonjour,

    Peux-tu savoir quelle est le makefile utilisé par netbeans pour compiler ton projet ?
    Il semble qu'il soit incorrect et ne compile pas les autre .cpp de ton projet.
    Il y a sûrement une option pour cela.
    Pensez à consulter la FAQ ou les cours et tutoriels de la section C++.
    Un peu de programmation réseau ?
    Aucune aide via MP ne sera dispensée. Merci d'utiliser les forums prévus à cet effet.

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2011
    Messages
    25
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Janvier 2011
    Messages : 25
    Par défaut
    je suis novice en utilisation de netbeans, je vais cherchez cela.
    si quelqu'un le sait je prend aussi ^^

  6. #6
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2011
    Messages
    25
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Janvier 2011
    Messages : 25
    Par défaut
    en cherchant, j'ai vu qu'il existait une option "enable dependencies check" ce qui correspond à l'inclusion des fichiers via des includes.
    il est bien activer sur mon netbeans avecle compileur par defaut.

    avez vous une autre idée?

    comment doit-JE FAIRE POUR COMPILER en ligne de commande?

Discussions similaires

  1. Erreur ListenerStart sous NetBeans
    Par janyoura dans le forum Tomcat et TomEE
    Réponses: 1
    Dernier message: 28/08/2012, 07h24
  2. Erreur Mysql sous NetBeans IDE 6.9.1:
    Par allisahmd09 dans le forum NetBeans
    Réponses: 0
    Dernier message: 10/07/2011, 18h41
  3. erreur au niveau netbeans
    Par doudou_mprof dans le forum Interfaces Graphiques en Java
    Réponses: 1
    Dernier message: 01/07/2010, 09h39
  4. Erreur de compilation netbeans 6.7.1 JEE
    Par dalidali86 dans le forum NetBeans
    Réponses: 0
    Dernier message: 17/08/2009, 11h31
  5. [Débutant] Erreur rake sur NetBeans 6.0
    Par FranT dans le forum Ruby on Rails
    Réponses: 0
    Dernier message: 21/01/2008, 18h01

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