मैं सिर्फ कैसे मैं त्रुटिकोई एहसास वर्ग प्रक्रिया परिभाषित
का हल पाया साझा करना चाहते हैं कोई एहसास वर्ग प्रक्रिया परिभाषित
जब एक एक्स/मोटिफ सी आवेदन चल रहा है। मैं इसे पोस्ट कर रहा हूं क्योंकि ऑनलाइन खोज करते समय मुझे केवल इस समस्या का एक संदर्भ मिला, और इसमें कोई समाधान नहीं था।
मैं समस्या को हल करने में कामयाब रहे और मेरी जानकारी को साझा करने अगर आप इस समस्या का सामना करना फिर से आते हैं चाहता था (नोटिस: मैं नहीं कह रहा हूँ मेरी समाधान हमेशा इस प्रकार की त्रुटि का समाधान होगा)।
समस्या
मैं एक साधारण सी प्रोग्राम है जो रूपांकन और एक्स intrinsics उपकरणकिटें इस्तेमाल किया चलाते समय इस समस्या पाया।
#include <stdio.h>
#include <Xm/Xm.h>
#include <Xm/PushB.h>
/* Prototype Callback function */
void pushed_fn(Widget, XtPointer, XmPushButtonCallbackStruct *);
int main(int argc, char **argv)
{
Widget top_wid, button;
XtAppContext app;
Display* display;
XtToolkitInitialize();
app = XtCreateApplicationContext();
display = XtOpenDisplay(app, "localhost:10.0","push","push", NULL,0, &argc,argv);
top_wid = XtAppCreateShell(NULL, "Form", applicationShellWidgetClass, display, NULL, 0);
button = XmCreatePushButton(top_wid, "Push_me", NULL, 0);
/* tell Xt to manage button */
XtManageChild(button);
/* attach fn to widget */
XtAddCallback(button, XmNactivateCallback, (XtCallbackProc) pushed_fn, NULL);
XtRealizeWidget(top_wid); /* display widget hierarchy */
XtAppMainLoop(app); /* enter processing loop */
return 0;
}
void pushed_fn(Widget w, XtPointer client_data, XmPushButtonCallbackStruct *cbs)
{
printf("Don't Push Me!!\n");
}
हालांकि मैं एक्स 11/मोटीफ प्रोग्रामिंग मैनुअल के सटीक संदर्भ नहीं ला सकता हूं, मुझे यकीन है कि कई मैनुअल/ट्यूटोरियल इसे सीधे रखते हैं: 'lXm' को' lXt' और 'lX11' से पहले जोड़ा जाना चाहिए। कम से कम, * LessTif * FAQ में संबंधित [नोट] (http://lesstif.sourceforge.net/FAQ.html#QU3.0) है। यह डेबियन [बग रिपोर्ट] भी देखें (https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=718691) (उनमें से बहुत सारे हैं)। – Bass