LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 1430|回复: 3

一个简单的程序编译竟然通不过,我快发疯了,大虾,救我(我是新手,见笑!)。

[复制链接]
发表于 2005-6-30 21:32:26 | 显示全部楼层 |阅读模式
  1. #include <X11/extensions/XTest.h>
  2. #include <X11/keysym.h>
  3. #include <X11/Xlib.h>

  4. int main()
  5. {
  6.   Display *disp = XOpenDisplay(NULL);
  7.   if(disp==NULL)
  8.     return 1;

  9.   XTestFakeKeyEvent(disp, XKeysymToKeycode(disp, XK_Num_Lock), True, CurrentTime);
  10.   XTestFakeKeyEvent(disp, XKeysymToKeycode(disp, XK_Num_Lock), False, CurrentTime);
  11.   XCloseDisplay(disp);

  12.   return 0;
  13. }
复制代码


编译用:
gcc -I/usr/X11R6/lib -o test test.c -lX11 -lXtst

在RH9上编译总是提示出错,通不过,说参数不正确,查到是这个有错Display *disp = XOpenDisplay(NULL);
编译提示:undefine reference to '__gxx_personality_v0'
              collect 2:ld returned 1 exit status
所有的库都包含了呀,就是函数XOpenDisplay(NULL);的参数老不行,换了XOpenDisplay(“:0”);XOpenDisplay(argv[1]);XOpenDisplay(“0:0”);都还是不行,我都快搞疯了呀,弟兄们,帮帮我吧
发表于 2005-7-1 12:14:48 | 显示全部楼层
老兄,你的编译命令用错了。应该是gcc -L/usr/X11R6/lib -o test test.c -lX11 -lXtst
gcc编译中,-I选项用于包含头文件目录,-L选项用于包含库文件,注意头文件是INCLUDE,库文件是LIBRARY.
回复 支持 反对

使用道具 举报

发表于 2005-7-1 16:29:52 | 显示全部楼层
KAO,看了半天没看出来
回复 支持 反对

使用道具 举报

 楼主| 发表于 2005-7-3 21:48:33 | 显示全部楼层
多谢两位,谢谢,已经搞定了
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表