Afficher une simple fenetre avec X11 (Xforms) [Résolu]

Signaler
Messages postés
2
Date d'inscription
mardi 5 mai 2009
Statut
Membre
Dernière intervention
6 mai 2009
-
Messages postés
3874
Date d'inscription
mardi 8 mars 2005
Statut
Modérateur
Dernière intervention
7 novembre 2014
-
Bonjour

Je débute avec la programmation en C et en environnement linux (Linux scientific), je travaille avec la bibliothèque X11 pour afficher une simple fenêtre avec un bouton (Xforms).

Le code est comme suit :

#################################################

#include "forms.h"



int main(int argc, char *argv[])

{

FL_FORM *simpleform;



fl_initialize(&argc, argv, "FormDemo", 0, 0);

simpleform = fl_bgn_form(FL_UP_BOX,230,160);

fl_add_button(FL_NORMAL_BUTTON,40,50,150,60,"Push Me");

fl_end_form();



fl_show_form(simpleform, FL_PLACE_MOUSE, FL_NOBORDER, "PushMe");



fl_do_forms();

fl_hide_form(simpleform);

return 0;

}

#################################################

Pour la compilation je fais :

# gcc –O –o pushme pushme.c -lforms -lX11 -lM

J’obtiens le message d’erreur suivant :

[root@localhost push]# gcc -O -o pushme pushme.c -lforms -lX11 -lm
/usr/lib/gcc/i386-redhat-linux/4.1.2/../../../libforms.so: undefined reference to `XpmReadFileToPixmap'
/usr/lib/gcc/i386-redhat-linux/4.1.2/../../../libforms.so: undefined reference to `XpmCreatePixmapFromData'
/usr/lib/gcc/i386-redhat-linux/4.1.2/../../../libforms.so: undefined reference to `XpmAttributesSize'
/usr/lib/gcc/i386-redhat-linux/4.1.2/../../../libforms.so: undefined reference to `XpmFreeAttributes'
collect2: ld a retourné 1 code d'état d'exécution



Quel qu’un peux m’aider ?!!

2 réponses

Messages postés
3874
Date d'inscription
mardi 8 mars 2005
Statut
Modérateur
Dernière intervention
7 novembre 2014
13
Bienvenue,

Pour la ligne gcc :
-o pushme -> Fichier de sortie pushme
pushme.c -> Fichier à compiler
-lforms -lX11 -lm
-> Inclusion des librairies forms, X11 et m.

C'est une erreur lors de l'édition des liens (link en anglais) pour être précis.
/usr/lib/gcc/i386-redhat-linux/4.1.2/../../../libforms.so: undefined reference to `XpmCreatePixmapFromData'

Dans /usr/lib/gcc/i386-redhat-linux/4.1.2/../../../libforms.so, référence non définie à `XpmCreatePixmapFromData.

Autrement dit, il ne trouve pas le fichier binaire (.lib ou .a) contenant les fonctions citées, nécessaire pour une librairie dont tu as besoin. Il faut que tu rajoute la librairie adéquate en entrée du lieur.

Dans ton cas, une rapide recherche google nous indique qu'il s'agit de la librairie Xpm. Il faut que tu ajoutes -lXpm à ta ligne de compilation.
Messages postés
2
Date d'inscription
mardi 5 mai 2009
Statut
Membre
Dernière intervention
6 mai 2009

j'arrive pas à comprendre tous les options de la commande "gcc", je pense que c'est un erreur de compilation.