当前位置: 技术问答>linux和unix
有关motif程序的编译和执行的一个问题。
来源: 互联网 发布时间:2015-06-07
本文导语: 我有一个motif的例程如下: /* hello.c -- initialize the toolkit using an application context and a ** toplevel shell widget, then create a pushbutton that says Hello using ** the varargs interface. */ #include main (int argc, char *argv[]) { Wid...
我有一个motif的例程如下:
/* hello.c -- initialize the toolkit using an application context and a
** toplevel shell widget, then create a pushbutton that says Hello using
** the varargs interface.
*/
#include
main (int argc, char *argv[])
{
Widget toplevel, button;
XtAppContext app;
void button_pushed(Widget, XtPointer, XtPointer);
XmString label;
Arg args[2];
XtSetLanguageProc (NULL, NULL, NULL);
toplevel = XtVaOpenApplication (&app, "Hello", NULL, 0, &argc, argv, NULL,
sessionShellWidgetClass, NULL);
label = XmStringCreateLocalized ("Push here to say hello");
XtSetArg(args[0], XmNlabelString, label);
button = XmCreatePushButton (toplevel, "pushme", args, 1);
XmStringFree (label);
XtAddCallback (button, XmNactivateCallback, button_pushed, NULL);
XtManageChild (button);
XtRealizeWidget (toplevel);
XtAppMainLoop (app);
}
void button_pushed (Widget widget, XtPointer client_data, XtPointer call_data)
{
printf ("Hello Yourself!n");
}
此程序存在一个名为hello.c的文件中。
我在KDE下的控制台窗口中,进入到存放hello.c的目录下,然后键入了下述命令:
gcc -I/usr/X11R6/LessTif/Motif1.2/include -I/usr/X11R6/include -L/usr/X11R6/LessTif/Motif1.2/lib -L/usr/X11R6/lib -lX11 -lXt -lXm hello.c -g -o hello_e
执行了上述命令后,在存放hello.c的目录下生成了1个新文件——hello_e。
我用KDE下的资源管理器(即home)打开此目录,再用鼠标双击hello_e。屏幕上没有出现hello.c中设计的界面,而弹出了一个对话框,其上有下述提示
Couldn't find the program 'hello_e''
这是为什么?我要想成功编译、链接、执行该怎么办?
/* hello.c -- initialize the toolkit using an application context and a
** toplevel shell widget, then create a pushbutton that says Hello using
** the varargs interface.
*/
#include
main (int argc, char *argv[])
{
Widget toplevel, button;
XtAppContext app;
void button_pushed(Widget, XtPointer, XtPointer);
XmString label;
Arg args[2];
XtSetLanguageProc (NULL, NULL, NULL);
toplevel = XtVaOpenApplication (&app, "Hello", NULL, 0, &argc, argv, NULL,
sessionShellWidgetClass, NULL);
label = XmStringCreateLocalized ("Push here to say hello");
XtSetArg(args[0], XmNlabelString, label);
button = XmCreatePushButton (toplevel, "pushme", args, 1);
XmStringFree (label);
XtAddCallback (button, XmNactivateCallback, button_pushed, NULL);
XtManageChild (button);
XtRealizeWidget (toplevel);
XtAppMainLoop (app);
}
void button_pushed (Widget widget, XtPointer client_data, XtPointer call_data)
{
printf ("Hello Yourself!n");
}
此程序存在一个名为hello.c的文件中。
我在KDE下的控制台窗口中,进入到存放hello.c的目录下,然后键入了下述命令:
gcc -I/usr/X11R6/LessTif/Motif1.2/include -I/usr/X11R6/include -L/usr/X11R6/LessTif/Motif1.2/lib -L/usr/X11R6/lib -lX11 -lXt -lXm hello.c -g -o hello_e
执行了上述命令后,在存放hello.c的目录下生成了1个新文件——hello_e。
我用KDE下的资源管理器(即home)打开此目录,再用鼠标双击hello_e。屏幕上没有出现hello.c中设计的界面,而弹出了一个对话框,其上有下述提示
Couldn't find the program 'hello_e''
这是为什么?我要想成功编译、链接、执行该怎么办?
|
到该目录下执行./hello_e
|
用命令行方式到该目录输入./hello_e试试。
|
到该目录下执行./hello_e