Nieuws:

Welkom, Gast. Alsjeblieft inloggen of registreren.
Heb je de activerings-mail niet ontvangen?

Auteur Topic: programeren voor Xlib/Motif  (gelezen 1111 keer)

Offline kuifje09

  • Lid
programeren voor Xlib/Motif
« Gepost op: 2016/05/25, 12:22:15 »
Ik probeer een voorbeeldprogramma uit de o-reily boeken te compileren maar dat geen een fout executable.

Pag 98 uit boek Vol 6-a :
/* main_list.c -- Use the ScrolledList window as the feature
* component of a MainWindow widget.
*/

#include <Xm/MainW.h>
#include <Xm/List.h>

main(int argc, char* argv[])
{
    Widget top, main_w, list_w;
    XtAppContext app;
    Pixmap pixmap;

    XtSetLanguageProc (NULL, NULL, NULL);

    top = XtVaAppInitialize (&app, "Demo", NULL, 0, &argc, argv, NULL, NULL);

    main_w = XtVaCreateManagedWidget ("main_window", xmMainWindowWidgetClass, top, NULL );

    list_w = XmCreateScrolledList (main_w, "main_list", NULL, 0);
    XtVaSetValues (list_w,  XtVaTypedArg, XmNitems, XmRString,
            "Red, Green, Blue, Orange, Maroon, Grey, Black, White", 53,
        XmNitemCount,           8,
        XmNvisibleItemCount,    5,
        NULL);
    XtManageChild (list_w);

    /* set the list_w as the "work area" of the main window */
    XtVaSetValues (main_w, XmNworkWindow, XtParent (list_w), NULL);

    XtRealizeWidget (top);
    XtAppMainLoop (app);
}
dat compiled met :
gcc ${NAME}.c -o ${NAME} -I /usr/include/X11 -I /usr/include/Xm -L /usr/lib/X11 -L /usr/include/Xm  -lX11 -lXt -lXm
geeft deze fout:
X Error of failed request:  BadWindow (invalid Window parameter)
  Major opcode of failed request:  19 (X_DeleteProperty)
  Resource id in failed request:  0x0
  Serial number of failed request:  86
  Current serial number in output stream:  90

Na wat zoekwerk op het net vind ik een paar suggesties,maar geen is de oplossing.

Ik werk op Linux mint-17 64 bit.
Inmiddels ben ik uit mijn ideen en denk dat ik een behoorlijke blinde vlek heb...
Op de 32 bits ubuntu heb ik dit al eerder gedaan, en probeer mijn kennis weer wat op te frissen maar loop nu behoorlijk vast ? Heel vreemd.

Iemand een ideetje ?
« Laatst bewerkt op: 2016/05/25, 17:04:35 door kuifje09 »

Offline kuifje09

  • Lid
Re: programeren voor Xlib/Motif
« Reactie #1 Gepost op: 2016/05/25, 13:26:54 »
Kleinigheidje wel gevonden .. het heeft zowiezo te maken met 64 bits of 32 bits.

Als ik als -m32  bits compileer, dan mis ik al veel fouten.  64 bits pointers die niet in een int passen etc...
Dit betrefd een volgend voorbeeld-programmatje. Dynapix.c. Maar denk van dezelfde strekking.
Maar dan mis ik kennelijk alle libs voor de 32 bits X11 omgeving.

Ik krijg een donkerbruin vermoeden dat er behoorlijk met de pointers en conversies wordt gerommeld...

Hoe gaan we dat oplossen ?  Ik zou graag verder gaan met dit spul, reuze leuk, maar dat gedoe met 64 of 32 bits gaat me net even boven de pet.

Een zetje in de goede richting wordt op prijs gesteld.

Offline kuifje09

  • Lid
Re: programeren voor Xlib/Motif
« Reactie #2 Gepost op: 2016/06/04, 14:16:14 »
Als ik het zo compileer:
gcc ${NAME}.c -o ${NAME} -I /usr/include/X11 -I /usr/include/Xm -L /usr/lib/X11 -L /usr/include/Xm  -lXm -lXt -lX11
werkt het allemaal.

Edit, -L /usr/include/Xm is eigenlijn -L /usr/lib/Xm, maar niet nodig. Alles ligt kennelijk op een hoop nu.
« Laatst bewerkt op: 2017/07/12, 12:33:33 door kuifje09 »