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 :

Mon programme ne fonctionne plus après mise à jour de linux


Sujet :

GTK+ avec C & C++

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mars 2003
    Messages
    132
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val d'Oise (Île de France)

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

    Informations forums :
    Inscription : Mars 2003
    Messages : 132
    Par défaut Mon programme ne fonctionne plus après mise à jour de linux
    Bonjour,
    J'ai un problème avec un programme que j'ai conçu il fonctionne très bien sous Fedora 2, je suis passé à Fedora 5, j'ai vu que Gtk est passé à Gtk 2.
    Et c'est peut être le problème car maintenant mon programme affiche au lancement make: *** [all] Erreur de segmentation.

    Mon ancien MAKEFILE:
    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
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    # vd Makefile
     
    all: vd
     
    clean:
    	$(RM) *.o *~
     
    # General
     
    CC      = gcc
    CFLAGS  = -pipe
    LDFLAGS = -lm
     
    # Warnings
     
    CFLAGS  += -Wall -Winline # -ansi -pedantic
     
    # Optimize
     
    CFLAGS  += -O3 -fforce-mem -funroll-loops -fomit-frame-pointer
    LDFLAGS += -s
     
    # Debug
     
    # CFLAGS += -g -DDEBUG
     
    # Profile
     
    # CFLAGS  += -pg
    # LDFLAGS += -pg
     
    # GTK
     
    CFLAGS  += `gtk-config --cflags`
    LDFLAGS += `gtk-config --libs`
     
    # Dependencies
     
    OBJS = bitboard.o board.o clock.o eboard.o eindex.o emove.o endgame.o eval.o \
           gboard.o hash.o mboard.o mmove.o move.o search.o sort.o vd.o
     
    vd: $(OBJS)
    	$(CC) $(LDFLAGS) -o vd $(OBJS)
     
    *.o: Makefile
     
    bitboard.o: bitboard.c bitboard.h types.h board.h
    board.o: board.c board.h types.h eval.h mboard.h bitboard.h
    clock.o: clock.c clock.h types.h
    eboard.o: eboard.c eboard.h types.h board.h mboard.h bitboard.h
    eindex.o: eindex.c eindex.h types.h eboard.h board.h mboard.h \
     bitboard.h emove.h move.h endgame.h
    emove.o: emove.c emove.h eboard.h types.h board.h mboard.h bitboard.h \
     move.h
    endgame.o: endgame.c endgame.h eindex.h types.h eboard.h board.h \
     mboard.h bitboard.h clock.h emove.h move.h
    eval.o: eval.c eval.h mboard.h types.h bitboard.h board.h endgame.h \
     eindex.h eboard.h search.h move.h
    gboard.o: gboard.c gboard.h board.h types.h vd.h
    hash.o: hash.c hash.h types.h mboard.h bitboard.h board.h
    mboard.o: mboard.c mboard.h types.h bitboard.h board.h eval.h hash.h
    mmove.o: mmove.c mmove.h types.h mboard.h bitboard.h board.h move.h \
     eval.h hash.h sort.h
    move.o: move.c move.h board.h types.h eval.h mboard.h bitboard.h
    search.o: search.c search.h board.h types.h move.h clock.h endgame.h \
     eindex.h eboard.h mboard.h bitboard.h eval.h hash.h mmove.h sort.h
    sort.o: sort.c sort.h mboard.h types.h bitboard.h board.h mmove.h \
     move.h eval.h search.h
    vd.o: vd.c vd.h types.h bitboard.h board.h clock.h endgame.h \
     eindex.h eboard.h mboard.h eval.h gboard.h hash.h move.h search.h
    Mon nouveau MAKEFILE:

    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
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    # vd Makefile
     
    all: vd
     
    clean:
    	$(RM) *.o *~
     
    # General
     
    CC      = gcc
    CFLAGS  = -pipe
    LDFLAGS = -lm
     
    # Warnings
     
    CFLAGS  += -Wall -Wextra -Werror -Winline # -ansi -pedantic
     
    # Optimize
     
    CFLAGS  = $$(pkg-config --cflags gtk+-2.0)
    LDFLAGS = $$(pkg-config --libs gtk+-2.0)
     
     
    # Debug
     
    # CFLAGS += -g -DDEBUG
     
    # Profile
     
    # CFLAGS  += -pg
    # LDFLAGS += -pg
     
    # GTK
     
    CFLAGS  += -O3 -funroll-loops -fomit-frame-pointer
    LDFLAGS += -s
     
    # Dependencies
     
    OBJS = bitboard.o board.o clock.o eboard.o eindex.o emove.o endgame.o eval.o \
           gboard.o hash.o mboard.o mmove.o move.o search.o sort.o vd.o
     
    vd: $(OBJS)
    	$(CC) $(LDFLAGS) -o vd $(OBJS)
     
    *.o: Makefile
     
    bitboard.o: bitboard.c bitboard.h types.h board.h
    board.o: board.c board.h types.h eval.h mboard.h bitboard.h
    clock.o: clock.c clock.h types.h
    eboard.o: eboard.c eboard.h types.h board.h mboard.h bitboard.h
    eindex.o: eindex.c eindex.h types.h eboard.h board.h mboard.h \
     bitboard.h emove.h move.h endgame.h
    emove.o: emove.c emove.h eboard.h types.h board.h mboard.h bitboard.h \
     move.h
    endgame.o: endgame.c endgame.h eindex.h types.h eboard.h board.h \
     mboard.h bitboard.h clock.h emove.h move.h
    eval.o: eval.c eval.h mboard.h types.h bitboard.h board.h endgame.h \
     eindex.h eboard.h search.h move.h
    gboard.o: gboard.c gboard.h board.h types.h vd.h
    hash.o: hash.c hash.h types.h mboard.h bitboard.h board.h
    mboard.o: mboard.c mboard.h types.h bitboard.h board.h eval.h hash.h
    mmove.o: mmove.c mmove.h types.h mboard.h bitboard.h board.h move.h \
     eval.h hash.h sort.h
    move.o: move.c move.h board.h types.h eval.h mboard.h bitboard.h
    search.o: search.c search.h board.h types.h move.h clock.h endgame.h \
     eindex.h eboard.h mboard.h bitboard.h eval.h hash.h mmove.h sort.h
    sort.o: sort.c sort.h mboard.h types.h bitboard.h board.h mmove.h \
     move.h eval.h search.h
    vd.o: vd.c vd.h types.h bitboard.h board.h clock.h endgame.h \
     eindex.h eboard.h mboard.h eval.h gboard.h hash.h move.h search.h

    Merci d'avance pour vos réponse

  2. #2
    Rédacteur
    Avatar de Franck.H
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2004
    Messages
    6 951
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Service public

    Informations forums :
    Inscription : Janvier 2004
    Messages : 6 951
    Par défaut
    Bin dit moi, il serait temps que tu passe à la version 2 de GTK+, ca fait depuis mars 2002 qu'il y est passé, aujourd'hui on en est à la version 2.10.11 tout de même. A mon humble avis le problème se situe avant tout dans le code source de ton programme, surtout s'il utilise encore la version 1.2 de GTK+ ou plus vieux encore !

    Peut-être peux-tu mettre à jour ton programme ce qui ne serait pas une mauvaise chose tu peux me croire mais sinon, tu peux encore installer l'ancienne version de GTK+ (1.2 entre autre) et tenter une compilation !

    Je ne vois pas non plus pour quelle raison tu précises tous ces header à la fin de ton Makefile, je n'ai jamais eu à le faire ! Ceci est mon Makefile de base:

    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
    #
    # Variables:
    #
    CC = gcc
    BIN = bin_name
    SRC = main.c
    OBJ = main.o
     
     
    #
    # Flags d'erreurs:
    #
    ERROR_CFLAGS = -Wall -W -pedantic
     
     
    #
    # Flags pour le compilateur:
    #
    GTK_CFLAGS := $$(pkg-config --cflags gtk+-2.0)
    CFLAGS = $(ERROR_FLAGS) $(GTK_CFLAGS)
     
     
    #
    # Flags pour l'editeur de liens:
    #
    GTK_LDFLAGS = $$(pkg-config --libs gtk+-2.0)
    LDFLAGS = $(ERROR_FLAGS) $(GTK_LDFLAGS)
     
     
    #
    # Construction du programme:
    #
    all: $(BIN)
     
    $(BIN): $(SRC)
    	$(CC) $(CFLAGS) -c $(SRC)
    	$(CC) $(LDFLAGS) -o $(BIN) $(OBJ)
     
     
    #
    # Nettoyage:
    #
    clean:
    	rm -f *.o *~ core $(BIN)
    Mon Site
    Ma bibliothèque de gestion des chaînes de caractères en C

    L'imagination est plus importante que le savoir. A. Einstein

    Je ne répond à aucune question technique par MP, merci d'avance !

  3. #3
    Membre confirmé
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mars 2003
    Messages
    132
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val d'Oise (Île de France)

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

    Informations forums :
    Inscription : Mars 2003
    Messages : 132
    Par défaut message attention peut être le problème ?
    Voici le seul message d'alerte pouvant peut être poser problème :

    endgame.c: In function ‘GetValue’:
    endgame.c:2182: attention : passing argument 1 of ‘OpenBaseFile’ discards qualif iers from pointer target type
    endgame.c:2186: attention : passing argument 1 of ‘CloseBaseFile’ discards quali fiers from pointer target type.

  4. #4
    Rédacteur
    Avatar de Franck.H
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2004
    Messages
    6 951
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Service public

    Informations forums :
    Inscription : Janvier 2004
    Messages : 6 951
    Par défaut
    Je ne pense pas, ici ce sont simplement deux petits warnings car tu passe en argument à la fonction OpenBaseFile un pointeur de type:
    alors que la fonction en attend un de type:
    Ceci n'empêche pas la compilation, c'est une simple mise en garde ici !
    Mon Site
    Ma bibliothèque de gestion des chaînes de caractères en C

    L'imagination est plus importante que le savoir. A. Einstein

    Je ne répond à aucune question technique par MP, merci d'avance !

  5. #5
    Membre confirmé
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mars 2003
    Messages
    132
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val d'Oise (Île de France)

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

    Informations forums :
    Inscription : Mars 2003
    Messages : 132
    Par défaut Voici les sources si quelqu'un a une idée.
    Voici les sources si quelqu'un a une idée.
    Il fonctionne très bien sur Fedora core 2 et Aurox 9.2.
    Mais il ne fonctionne plus sur les nouvelles version Linux Fedora Core 5 et 6.
    Ni sur Suse 10 et Mandriva 2006 et 2007.
    Surement du a un changement dans Gtk.

  6. #6
    Rédacteur
    Avatar de Franck.H
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2004
    Messages
    6 951
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Service public

    Informations forums :
    Inscription : Janvier 2004
    Messages : 6 951
    Par défaut
    Bin si tu était sur une version inférieur à GTK+ 2.0 oui c'est un changement majeur Je pense que le mieux pour ton programme c'est de l'adapter à la nouvelle version de GTK+ mais c'est une masse de travail non négligeable. A moins que tu installes la version 1.2 de GTK+, c'est solution envisageable et de compiler spécifiquement avec cette version
    Mon Site
    Ma bibliothèque de gestion des chaînes de caractères en C

    L'imagination est plus importante que le savoir. A. Einstein

    Je ne répond à aucune question technique par MP, merci d'avance !

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

Discussions similaires

  1. [CS3] Mon programme ne fonctionne plus après une copie
    Par Jeffreyshep dans le forum Flash
    Réponses: 1
    Dernier message: 05/09/2014, 10h24
  2. Réponses: 2
    Dernier message: 18/03/2013, 17h39
  3. Réponses: 3
    Dernier message: 12/08/2012, 15h45
  4. Wifi ne fonctionne plus après mise en veille
    Par mikael2235 dans le forum Windows 7
    Réponses: 2
    Dernier message: 17/01/2012, 21h37
  5. [Support]Mon ordi ne repond plus apres mise en veille
    Par Nip dans le forum Ordinateurs
    Réponses: 11
    Dernier message: 22/03/2007, 14h22

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