免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1200 | 回复: 3
打印 上一主题 下一主题

那位高手可以帮我看看问题出在哪? [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2005-12-11 22:29 |只看该作者 |倒序浏览
> cat vio.c:
#include <stdio.h>
#include <stdlib.h>
#include </usr/wsj/include/vio.h>
void inits( )
{ initscr ( );
  raw( );
  noecho( );
  keypad(stdscr,TRUE);
}
void ends( )
{ keypad(stdscr,FALSE);
  echo( );
  noraw( );
  endwin( );
}
void cls( )
{ clear( );
  refresh( );
}
void xystr(x,y,str)
int x,y;
char *str;
{   short i;
    move(x,y);
    for(i=0;i<strlen(str);i++)
       addch(SPACE);
    refresh( );
    move(x,y);
    addstr(str);
    refresh( );
}
> makefile 文件
obj/vio.o: vio.c
        cc -DM_TERMINFO vio.c -ltinfo -c
        @mv vio.o obj
libvio.a: obj/vio.o include/vio.h
        rm /usr/wsj/lib/libvio.a
        ar -q /usr/wsj/lib/libvio.a  obj/vio.o
        granlib /usr/wsj/lib/libvio.a
        @chmod 0777 /usr/wsj/lib/libvio.a


得到静态库libvio.a
引用:libvio.a
> cat test .c


#include "/usr/wsj/include/vio.h"
main( )
{
char *str="欢迎光临";
int x=12,y=36;
inits( );
xystr(x,y,str);
ends( );
}



编译:
〉cc -DM_TERMINFO vid.c -ltinfo  -L/usr/wsj/lib -lvio -o vid
结果出错如下:


$cc -DM_TERMINFO vid.c -ltinfo  -L/usr/wsj/lib -lvio -o vid
undefined                            first referenced
symbol                                  in file
initscr32                                /usr/wsj/lib/libvio.a
raw                                      /usr/wsj/lib/libvio.a
noecho                                   /usr/wsj/lib/libvio.a
stdscr                                   /usr/wsj/lib/libvio.a
keypad                                   /usr/wsj/lib/libvio.a
echo                                     /usr/wsj/lib/libvio.a
noraw                                    /usr/wsj/lib/libvio.a
endwin                                   /usr/wsj/lib/libvio.a
wclear                                   /usr/wsj/lib/libvio.a
wrefresh                                 /usr/wsj/lib/libvio.a
wmove                                    /usr/wsj/lib/libvio.a
w32addch                                 /usr/wsj/lib/libvio.a
waddstr                                  /usr/wsj/lib/libvio.a
i386ld fatal :Symbol referencing errors. No output written to vid
$

论坛徽章:
0
2 [报告]
发表于 2005-12-11 22:41 |只看该作者
你的vio.h中,对你在main函数中调用的函数有加extern吗?

论坛徽章:
0
3 [报告]
发表于 2005-12-11 23:09 |只看该作者
好象是没连接cursor库

论坛徽章:
0
4 [报告]
发表于 2005-12-12 15:14 |只看该作者

回复 2楼 yeziyq 的帖子

>cat vio.h


#define SPACE 32
#include <curses.h>
extern void inits(void);
extern void ends(void);
extern void cls(void);
extern void xystr(int,int,char *);
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP