Prog graphique X11 et libX - Divers - Programmation
Marsh Posté le 21-01-2009 à 15:59:35
Oué, plutôt que d'y aller au pifomètre, je te conseille vivement de lire un ou deux bouquins sur le sujet, ou ne serait que d'aller voir quelques exemples d'intro sur X11 et Xt/Xm (motif). Je ne sais pas ce que tu cherches à faire, mais plus personne depuis plus de 10 ans travaille directement avec la Xlib. C'est bas niveau, imbitable et frustrant. Motif 1.2 commence aussi à sentir le moisi, mais avec HPUX, faut sans doute pas espérer mieux.
Pour un bouquin de référence sur Motif, lis ça :
http://www.ist-inc.com/motif/download/6A/6A_book.pdf
C'est long, mais très bien expliqué. Pour la Xlib, si tu débutes, laisse tomber ça dans un premier temps, ce n'est vraiment pas fun.
Edit: la lib motif s'appelle en fait libXm.so (avec sans doute un numéro de version). Les fichiers d'inclusions sont dans $include/Xm. Même sur un truc aussi mal foutu que HPUX.
Marsh Posté le 22-01-2009 à 15:45:42
Salut,
J'ai lu ou plutot parcouru le pdf et j'ai fait un test mais impossible d'inclure Xm/PushB.h puisque je n'ai pas le rep ni le fich d'entete.
Par contre j'ai bien des fich libXm.1 2 3 4
Je ne dispose pas des fichier dentete.
Marsh Posté le 22-01-2009 à 15:49:36
c'est certainement pas un topic de biblio/liens en tout cas.
Marsh Posté le 22-01-2009 à 16:24:43
Fait une recherche de ce fichier à la racine du système. Au pire si tu ne trouves rien tu peux télécharger openmotif. Par contre c'est du Motif 2.x, pas 1.2. Il me semble que c'est compatible avec 1.2, si tu dois porter une application (mais ça fait un bail que j'ai pas testé).
Marsh Posté le 23-01-2009 à 17:50:37
Salut,
Je ne peut pas telecharger de fichiers sur cette machine.
Est t'on obligé de disposer des fichiers.h ou pourrait on s'en passer en linkant directement sur la bonne librairie.
Quand on fait ses prores fichiers.h on ne fait que le lien sans include.
Marsh Posté le 23-01-2009 à 18:39:31
Hmm, si tu as déjà les fichiers objets de ton application (*.o) tu peux te passer des fichiers includes. Si tu veux la compiler à partir des sources (*.c), il te faudra impérativement ces fichiers.
Une recherche en mode bourrin, ça donne quoi ?
Marsh Posté le 21-01-2009 à 15:48:32
Bonjour,
J'essaie de comprendre comment on procede en C sous unix hp pour faire de la prog via X11 ou Xlib.
Quand je regarde sous /usr/include je vois deux repertoires interessants X11 et Motif1.2.
Dans X11 ontrouve bitmaps
/usr/include/X11/bitmaps:ls
1x1 Stipple dimple3 grid2 mailemptymsk plaid vlines2 xm_hour16
2x2 Term dot grid4 mailfull right_ptr vlines3 xm_hour16m
Dashes Up dropbar7 grid8 mailfullmsk right_ptrmsk weird_size xm_hour32
Down ansi_1x1 dropbar8 hlines2 mensetmanus root_weave wide_weave xm_hour32m
Excl ansi_2x2 escherknot hlines3 menu10 scales wingdogs xm_information
FlipHoriz black flagdown icon menu12 sipb woman xm_noenter16
FlipVert boxes flagup keyboard16 menu16 star xfd_icon xm_noenter16m
Fold calculator flipped_gray left_ptr menu6 starMask xlogo11 xm_noenter32
Left cntr_ptr gray left_ptrmsk menu8 stipple xlogo16 xm_noenter32m
Right cntr_ptrmsk gray1 letters noletters target xlogo32 xm_question
RotateLeft cross_weave gray3 light_gray opendot terminal xlogo64 xm_warning
RotateRight dimple1 grid16 mailempty opendotMask tie_fighter xm_error xm_working
qui sont des fichiers de declaration de ce type:
/usr/include/X11/bitmaps:more boxes
#define boxes_width 16
#define boxes_height 16
static char boxes_bits[] = {
0x0f, 0x0f, 0x09, 0x09, 0x09, 0x09, 0x0f, 0x0f, 0xf0, 0xf0, 0x90, 0x90,
0x90, 0x90, 0xf0, 0xf0, 0x0f, 0x0f, 0x09, 0x09, 0x09, 0x09, 0x0f, 0x0f,
0xf0, 0xf0, 0x90, 0x90, 0x90, 0x90, 0xf0, 0xf0};
Sous Motif1.2
/usr/include/Motif1.2/Xg:ls
Starbase.c Starbase.h StarbaseP.h
qui sont des ebtetes.
Sous /usr/lib on trouve les lib qui a mon avis vont avec ces fichiers de declarations a savoir:
libM.0 et libM.1
qui sont des fichiers en laguage machine.
Il y a aussi les libX11.1 libX11.2 libX11.3
libXhp11.1 libXhp11.2 libXhp11.3
la meme chose en libXt libXm libXt libXext ect ect
Quelqu'un peut il m'expliquer comment on fait pour compiler avec ces librairies et ces entetes.
Pour compiler je doit utiliser la commande cc.
Merci