Undefined reference
在学习Computer System这本书
看到第十二章, 按照书上的代码敲了一个Web Server出来
在Ubuntu 64bit下面
gcc -Wall server.c -o server
编译器报错:
undefined reference to "Open_listenfd"
undefined reference to "Gethostbyaddr"
undefined reference to "Close"
undefined reference to "Rio_readinitb"
undefined reference to "Rio_writen"
undefined reference to "Rio_readlineb"
头文件 csapp.h我是从教材的官网上下载的
我也看过了, 上面这些“undefined”的函数, 在头文件里面也有。
不明白为什么编译器报错, 望指教!
谢谢!
看到第十二章, 按照书上的代码敲了一个Web Server出来
#include "csapp.h"
void echo(int connfd);
int main( int argc, char **argv)
{
int listenfd, connfd, port, clientlen;
struct sockaddr_in clientaddr;
struct hostent *hp;
char *haddrp;
if(argc != 2)
{
fprintf(stderr, "Usage: %s <port> \n", argv[0]);
exit(0);
}
port = atoi(argv[1]);
listenfd = Open_listenfd(port);
while(1)
{
clientlen = sizeof(clientaddr);
connfd = accept(listenfd, (SA *)&clientaddr, &clientlen);
hp = Gethostbyaddr( (const char *)&clientaddr.sin_addr.s_addr, sizeof(clientaddr.sin_addr.s_addr), AF_INET);
haddrp = inet_ntoa(clientaddr.sin_addr);
printf("Server connected to %s (%s)\n", hp->h_name, haddrp);
echo(connfd);
Close(connfd);
}
exit(0);
}
void echo(int connfd)
{
size_t n;
char buf[MAXLINE];
rio_t rio;
Rio_readinitb(&rio,connfd);
while( (n = Rio_readlineb(&rio, buf, MAXLINE)) != 0)
{
printf("Server received %d bytes\n", n);
Rio_writen(connfd, buf, n);
}
}
在Ubuntu 64bit下面
gcc -Wall server.c -o server
编译器报错:
undefined reference to "Open_listenfd"
undefined reference to "Gethostbyaddr"
undefined reference to "Close"
undefined reference to "Rio_readinitb"
undefined reference to "Rio_writen"
undefined reference to "Rio_readlineb"
头文件 csapp.h我是从教材的官网上下载的
我也看过了, 上面这些“undefined”的函数, 在头文件里面也有。
不明白为什么编译器报错, 望指教!
谢谢!
...全文
相关推荐
undefined reference to 'pthread_create'的解决方法
在编程过程中,尤其是在使用多线程技术时,可能会遇到“undefined reference to 'pthread_create'”这样的链接错误。
undefined reference to `SetPduPowerConsumptionCnt'错误的解决方法
在编程过程中,我们时常会遇到“undefined reference to”这样的链接错误,这通常意味着在编译期间,链接器找不到代码中引用的某个函数或变量的定义。
undefined reference to ‘pthread_create’的解决方法
在GUN/Linux编程过程中,遇到"undefined reference to 'pthread_create'和'pthread_join'"这类错误,通常是由于编译过程中没有正确链接到pthr
undefined reference to `SetPduPowerConsumptionCnt’错误的解决方法
在编程过程中,遇到“undefined reference to `SetPduPowerConsumptionCnt’”这样的错误,通常意味着链接阶段找不到该函数的定义。
【转】undefined reference to错误的解决方法.doc
【转】undefined reference to错误的解决方法.doc


