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

GTK+ avec C & C++ Discussion :

[WINDOWS] MINGW MSYS GTK erreur gtk


Sujet :

GTK+ avec C & C++

  1. #1
    Nouveau membre du Club
    Homme Profil pro
    dessinateur projeteur VRD
    Inscrit en
    Mars 2009
    Messages
    32
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : dessinateur projeteur VRD
    Secteur : Bâtiment Travaux Publics

    Informations forums :
    Inscription : Mars 2009
    Messages : 32
    Points : 30
    Points
    30
    Par défaut [WINDOWS] MINGW MSYS GTK erreur gtk
    Bonjour,

    J'ai installé MINGW et MSYS sous windows 7
    ainsi que GTK Runtime
    via ce lien
    http://www.gtkforums.com/viewtopic.php?t=8908

    Pour la compilation C, je n'ai pas de problème par contre quand je fais une compilation pour un programme GTK. Il me crée bien mes fichiers .o mais il m'indique l'erreur ci-dessous au moment du linkage

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    gcc -Wall `pkg-config --cflags --libs gtk+-2.0` monprogramme.c
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    test.c:3:5: warning: second argument of 'main' should be 'char **' [-Wmain]
    test_gtk.o: In function `main':
    C:\devel\mingw\msys\1.0\home\Laurent Meurillon/test_gtk.c:5: multiple definition of `_main'
    test.o:C:\devel\mingw\msys\1.0\home\Laurent Meurillon/test.c:4: first defined here
    test_gtk.o:test_gtk.c:(.text+0x34): undefined reference to `_gtk_init_abi_check'
    test_gtk.o:test_gtk.c:(.text+0x39): undefined reference to `_gtk_main'
    collect2.exe: error: ld returned 1 exit status
    make: *** [immo.x] Error
    On a l'impression qu'il ne trouve pas les bibliothèques GTK pourtant il ne m'indique pas d'erreur au niveau de la ligne
    de plus pkg-config est bien installé
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    which pkg-config
    /gtk/bin/pkg-config.exe

  2. #2
    Modérateur

    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2009
    Messages
    1 395
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2009
    Messages : 1 395
    Points : 2 002
    Points
    2 002
    Par défaut
    On dirait quand même que tu as un soucis dans ton test.c et/ou test_gtk.c. Tu peux mettre un peu de code?
    Documentation officielle GTK+ 3:
    GTK en C, GTK en Python

    Tutoriels GTK+ 3:
    GTK en C, GTK en Python

    Tutoriels par l'exemple (platform-demos):
    GTK (tous langages)

  3. #3
    Nouveau membre du Club
    Homme Profil pro
    dessinateur projeteur VRD
    Inscrit en
    Mars 2009
    Messages
    32
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : dessinateur projeteur VRD
    Secteur : Bâtiment Travaux Publics

    Informations forums :
    Inscription : Mars 2009
    Messages : 32
    Points : 30
    Points
    30
    Par défaut
    Citation Envoyé par liberforce Voir le message
    On dirait quand même que tu as un soucis dans ton test.c et/ou test_gtk.c. Tu peux mettre un peu de code?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    #include <stdlib.h>
    #include <gtk/gtk.h>
     
    int main(int argc,char *argv[])
    {
        gtk_init(&argc, &argv);
     
        gtk_main();
     
        return EXIT_SUCCESS;
    }
    il est très simple c'est pour faire un test

  4. #4
    Membre confirmé
    Profil pro
    Retraité
    Inscrit en
    Novembre 2009
    Messages
    329
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Novembre 2009
    Messages : 329
    Points : 606
    Points
    606
    Par défaut
    Pour savoir ce que pkg-config détecte, il suffit de le lancer (c'est un programme).
    Ici tu peux lancer la commande
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    pkg-config --cflags --libs gtk+-2.0
    puisque dans ta ligne de commande, les simple "cotes" inversées indiquent simplement que tu récupère la sortie de pkg-config.
    GraceGTK: a plotting tool at https://sourceforge.net/projects/gracegtk

  5. #5
    Nouveau membre du Club
    Homme Profil pro
    dessinateur projeteur VRD
    Inscrit en
    Mars 2009
    Messages
    32
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : dessinateur projeteur VRD
    Secteur : Bâtiment Travaux Publics

    Informations forums :
    Inscription : Mars 2009
    Messages : 32
    Points : 30
    Points
    30
    Par défaut
    Voici ce que m'indique la commande ci-dessus quand je la lance

    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
    -mms-bitfields
    -Ic:/devel/gtk/include/gtk-2.0
    -Ic:/devel/gtk/lib/gtk-2.0/include
    -Ic:/devel/gtk/include/atk-1.0
    -Ic:/devel/gtk/include/cairo
    -Ic:/devel/gtk/include/gdk-pixbuf-2.0
    -Ic:/devel/gtk/include/pango-1.0
    -Ic:/devel/gtk/include/glib-2.0
    -Ic:/devel/gtk/lib/glib-2.0/include
    -Ic:/devel/gtk/include
    -Ic:/devel/gtk/include/freetype2
    -Ic:/devel/gtk/include/libpng14
    -Lc:/devel/gtk/lib -lgtk-win32-2.0 -lgdk-win32-2.0 -latk-1.0 -lgio-2.0
    -lpangowin32-1.0 -lgdi32 -lpangocairo-1.0 -lgdk_pixbuf-2.0 -lpango-1.0 
    -lcairo -lgobject-2.0 -lgmodule-2.0 -lgthread-2.0 -lglib-2.0 -lintl

  6. #6
    Membre confirmé
    Profil pro
    Retraité
    Inscrit en
    Novembre 2009
    Messages
    329
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Novembre 2009
    Messages : 329
    Points : 606
    Points
    606
    Par défaut
    La sortie de pkg-config semble correcte.
    En revanche, il semble que tu compile simultanément deux fichiers test.c et test_gtk.c qui contiennent chacun une définition de main() et que tu essaye d'en faire un seul exécutable.
    GraceGTK: a plotting tool at https://sourceforge.net/projects/gracegtk

  7. #7
    Modérateur

    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2009
    Messages
    1 395
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2009
    Messages : 1 395
    Points : 2 002
    Points
    2 002
    Par défaut
    Citation Envoyé par pvincent Voir le message
    La sortie de pkg-config semble correcte.
    En revanche, il semble que tu compile simultanément deux fichiers test.c et test_gtk.c qui contiennent chacun une définition de main() et que tu essaye d'en faire un seul exécutable.
    Même diagnostic. Il nous faut la vraie commande utilisée, plutôt que celle avec un nom bidon "monprogramme.c"
    Documentation officielle GTK+ 3:
    GTK en C, GTK en Python

    Tutoriels GTK+ 3:
    GTK en C, GTK en Python

    Tutoriels par l'exemple (platform-demos):
    GTK (tous langages)

  8. #8
    Nouveau membre du Club
    Homme Profil pro
    dessinateur projeteur VRD
    Inscrit en
    Mars 2009
    Messages
    32
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : dessinateur projeteur VRD
    Secteur : Bâtiment Travaux Publics

    Informations forums :
    Inscription : Mars 2009
    Messages : 32
    Points : 30
    Points
    30
    Par défaut
    Citation Envoyé par liberforce Voir le message
    Même diagnostic. Il nous faut la vraie commande utilisée, plutôt que celle avec un nom bidon "monprogramme.c"
    Autant pour moi. Au niveau de l'erreur main. Il y avait 2 fichiers.
    Là pour mon test, je n'ai vraiment qu'un seul fichier que je compile avec la commande

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    gcc -Wall `pkg-config --cflags --libs gtk+-2.0` test_gtk.c
    Fichier :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    #include <stdio.h>
    #include <stdlib.h>
    #include "gtk/gtk.h"
     
    int main(int argc,char *argv[])
    {
        gtk_init(&argc, &argv);
     
        gtk_main();
     
        return (EXIT_SUCCESS);
    }
    Voici l'erreur :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    C:\Users\LAUREN~1\AppData\Local\Temp\ccGPcY09.o:test_gtk.c:(.text+0x34): undefined reference to `_gtk_init_abi_check'
    C:\Users\LAUREN~1\AppData\Local\Temp\ccGPcY09.o:test_gtk.c:(.text+0x39): undefined reference to `_gtk_main'
    collect2.exe: error: ld returned 1 exit status

  9. #9
    Modérateur

    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2009
    Messages
    1 395
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2009
    Messages : 1 395
    Points : 2 002
    Points
    2 002
    Par défaut
    Citation Envoyé par LM_programme Voir le message
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    #include "gtk/gtk.h"
    À mon avis, tu devrais écrire:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    #include <gtk/gtk.h>
    Documentation officielle GTK+ 3:
    GTK en C, GTK en Python

    Tutoriels GTK+ 3:
    GTK en C, GTK en Python

    Tutoriels par l'exemple (platform-demos):
    GTK (tous langages)

Discussions similaires

  1. Compilation de GTK+3 sous windows (MinGW)
    Par Invité dans le forum GTK+ avec C & C++
    Réponses: 22
    Dernier message: 04/09/2012, 07h46
  2. [Windows]Compiler une application utilisant gtk avec msys et mingw
    Par lilivounet dans le forum GTK+ avec C & C++
    Réponses: 18
    Dernier message: 26/04/2009, 20h24
  3. [Windows]Compiler une application utilisant gtk avec msys et mingw
    Par fcodvpt dans le forum GTK+ avec C & C++
    Réponses: 3
    Dernier message: 22/04/2008, 13h59
  4. [mingw/msys/gtk] performance application gtk
    Par drKzs dans le forum Windows
    Réponses: 5
    Dernier message: 19/01/2008, 11h01
  5. [mingw/msys] application gtk
    Par drKzs dans le forum Windows
    Réponses: 1
    Dernier message: 14/01/2008, 14h54

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