Nieuws:

We zijn er weer.

Na lange tijd van afwezigheid zijn we er weer  :laugh:
We hebben alle wachtwoorden gereset, je oude wachtwoord werkt niet meer.Je moet via het "wachtwoord vergeten"-linkje je wachtwoord resetten. Je krijgt hiervoor een mailtje op het adres dat je bij ons geregistreerd hebt.

De komende tijd zijn we nog druk bezig om de rest van de site op te bouwen, dus het kan zijn dat sommige onderdelen (tijdelijk) niet werken.

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

Auteur Topic: programeren voor Xlib/Motif  (gelezen 772 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 »