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

Windows Discussion :

La compilation d'un programme avec getpixel(x,y) qui ne fonctionne pas.


Sujet :

Windows

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 14
    Points : 3
    Points
    3
    Par défaut La compilation d'un programme avec getpixel(x,y) qui ne fonctionne pas.
    Voila mon problème :

    quand je compile mon programme, je vois ceci :



    cliquez sur l'image pour l'agrandir
    (/!\, au ne le voit pas sur la photo mais au début, il y a bien #include <windows.h>)


    Mais aucun fichier .exe n'est créer.




    Le but de mon programme est le suivant :
    lancer un programme .exe puis tester la couleur de certain pixel et en fonction de cela, cliquer à certain endroit.

    Alors pour le faire, j'ai d'abord fais un programme perméttant de récupérer la couleur d'un pixel que voici :

    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
    #include <windows.h>
    
    int main()
    {
        
    long R,G,B;
    int x,y;
    
    x=100;
    y=100;
    
    HDC dc = GetDC(NULL);
    
    COLORREF pix;
    pix = GetPixel(dc, x, y);
    R = GetRValue(pix);
    G = GetGValue(pix);
    B = GetBValue(pix);
    
    printf("ROUGE :%ld\n",R);
    printf("VERT :%ld\n",G);
    printf("BLEU :%ld\n\n",B);
    
    ReleaseDC(NULL, dc);
    
    system("pause");
    
    
    }
    Ce programme teste la couleur en RVB du pixel en 100;100 puis affiche les valeur.

    Alors, quand je fais compilé, ça me met :
    [Linker error] undefined reference to `GetPixel@12'
    ld returned 1 exit status


    Alors on m'a dit de mettre dans les otions du projet dans éditeur de lien ceci : GDI32
    A partir de maintenant, les message d'erreur disparaissent mais je vois ce message d'erreur :
    [build error] [projet8.exe] error1


    Puis, j'ai aussi ajouter gdic32
    Et maintenant, quand je compile, ça m'affiche DONE mais le fichier projet8.exe n'est pas créé dans le dossier.
    Et quand je clic sur le bouton "compiler puis exécuter", je vois une fenètre s'afficher pendant une seconde ou l'on peut voir DONE puis au moment ou il va lancer le programme automatiquement, il m'affiche : ... na pas encore était compillé.


    Que faire ???

    PS :J'utilise dev-C++, je programme en C, et le projet que j'ai créer été un "empty porjet".

    Y a t'il d'autre moyen de réccupérer la couleur RVB d'un pixel ?

  2. #2
    Expert éminent sénior
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 379
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 379
    Points : 41 573
    Points
    41 573
    Par défaut
    Tu ne peux pas récupérer la couleur d'un pixel sans la bibliothèque GDI32.
    Par contre, je me souviens avoir eu ce genre de problèmes avec les programmes Console sous Dev-C++ : On dirait que, pour une raison ou pour une autre, MinGW (ou dev-C++) refuse peut-être de lier avec GDI32 si c'est un programme console...

    Ne tiens pas compte de la fenêtre de compilation : C'est le LOG de compilation qu'il faut regarder.

  3. #3
    Candidat au Club
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 14
    Points : 3
    Points
    3
    Par défaut
    ça ne me dit pas quoi faire,...

    De plus quand je fais "empty projet" ou nouveau fichier source sans le mettre dans un projet, ça marche pas.

  4. #4
    Membre averti Avatar de pascal.barbier
    Profil pro
    Inscrit en
    Août 2007
    Messages
    362
    Détails du profil
    Informations personnelles :
    Âge : 63
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Août 2007
    Messages : 362
    Points : 442
    Points
    442
    Par défaut
    Salut,

    J'ai créé un projet (vide ou console ça fonctionne).
    J'ai copié ton code dans un fichier.
    J'ai ajouté #include <stdio.h> (pour printf)
    J'ai ajouté libgdi32.a (du répertoire dev-cpp/lib) dans la liste des fichiers pour le link
    Je compile et exécute et ça marche.

    Je joins le fichier .dev

    Hope it helps

  5. #5
    Candidat au Club
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 14
    Points : 3
    Points
    3
    Par défaut
    Alors là !

    Merci, je ne sais comment te remercier !!!

    GROS REMMERCIEMMENT A TOUS CEUX QUI M'ONT AIDÉ, JE SUIS SUPER CONTENT !!!


    J'attends un peu de pouvoir faire un petit programme avant de marqué [résolu].

    Encore MERCI !

Discussions similaires

  1. Réponses: 4
    Dernier message: 30/08/2011, 11h59
  2. Compilation d'un programme avec QPSQL
    Par abir_rzg dans le forum Bases de données
    Réponses: 6
    Dernier message: 06/08/2009, 15h58
  3. Réponses: 0
    Dernier message: 04/08/2009, 18h46
  4. Compiler un petit programme avec plusieurs fichiers avec g++
    Par Ourcoulouncoulou dans le forum Autres éditeurs
    Réponses: 3
    Dernier message: 16/12/2008, 13h48
  5. Réponses: 5
    Dernier message: 29/05/2008, 14h32

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