LinuxSir.cn,穿越时空的Linuxsir!

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

为什么使用getaddrinfo_a这个函数编译通不过?

[复制链接]
发表于 2008-5-29 22:09:39 | 显示全部楼层 |阅读模式
我包含的头信息是这样的:
#define _GNU_SOURCE

#ifdef HAVE_CONFIG_H
#  include <config.h>
#endif

#include <gnome.h>
#include<stdlib.h>
#include "callbacks.h"
#include "interface.h"
#include "support.h"
#include <sys/socket.h
#include<netinet/in.h>
#include <arpa/inet.h>
#include <netdb.h>
#include <gtk/gtk.h>
#include <string.h>
#include <pthread.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <unistd.h>
#include <stdio.h>
#include <fcntl.h>
#include <errno.h>
#include  <signal.h>
#include  <regex.h>
#include <sys/ipc.h>
#include <sys/sem.h>
但是编译的时候始终提示这样的错误: undefined reference to `getaddrinfo_a',没加#define _GNU_SOURCE的时候说gaicb类型未知,问题在哪?
发表于 2008-5-30 09:51:39 | 显示全部楼层
链接选项:
-lanl
回复 支持 反对

使用道具 举报

发表于 2008-5-31 19:10:04 | 显示全部楼层
缺少库,如果使用的自动IDE比如说eclipse+Cdt。出现这个问题就可能是没有安装相应的xxx-dev库
回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-6-1 10:12:31 | 显示全部楼层
我用的glade,编译选项添加上了-lanl,通过了,问题就是getaddrinfo_a不返回,程序一直堵塞,用gethostbyname和getaddrinfo都能返回,不知道问题出在哪里?
回复 支持 反对

使用道具 举报

发表于 2008-6-1 21:30:01 | 显示全部楼层
第一个参数是 GAI_NOWAIT。其余不清楚的看 http://people.redhat.com/drepper/asynchnl.pdf
回复 支持 反对

使用道具 举报

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

本版积分规则

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