【UNP】官方代码编译出现问题及解决方案
2014-11-09 15:35
204 查看
问题:最近在看《unix网络编程》,本想着用书中自带的代码单步调试跑一遍,编译的时候却出现了下面的error(注:第10页中的《1.5一个简单的时间、日期服务器程序》):
undefined reference to"Socket
undefined reference to"Bind"
undefined reference to"Listen"
undefined reference to"Accept"
在网上找了很多资料,有网友的说法和解决方案有很多:
(1)Socket,Bind,Listen,Accept,Close这几个函数是书中封装的函数,并不是标准的库函数。socket,bind,listen,accept,close才是标准的库函数。
(2)自己写应该包含自己写应该包含
#include <sys/socket.h>
#include <netinet/in.h>
#include <arpa/inet.h>
(3)在编译的时候缺少链接的文件 libunp.a 。
这里虽然有三种说法,其实最关键的是最后一种。没错,在编译时添加上缺少的静态库就行了。方法如下:
比如说,gcc -o "demo" ./main.o -lunp
我本人用的ide是eclipse,所以我在eclipse里的设置如下:
![](http://img.blog.csdn.net/20141109153431562?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvemh1YW5neGlhb2Jpbg==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
好了,问题解决,编译成功!!如果你的ide不同,那么就对应的去找如何添加静态编译库吧!
undefined reference to"Socket
undefined reference to"Bind"
undefined reference to"Listen"
undefined reference to"Accept"
在网上找了很多资料,有网友的说法和解决方案有很多:
(1)Socket,Bind,Listen,Accept,Close这几个函数是书中封装的函数,并不是标准的库函数。socket,bind,listen,accept,close才是标准的库函数。
(2)自己写应该包含自己写应该包含
#include <sys/socket.h>
#include <netinet/in.h>
#include <arpa/inet.h>
(3)在编译的时候缺少链接的文件 libunp.a 。
这里虽然有三种说法,其实最关键的是最后一种。没错,在编译时添加上缺少的静态库就行了。方法如下:
比如说,gcc -o "demo" ./main.o -lunp
我本人用的ide是eclipse,所以我在eclipse里的设置如下:
好了,问题解决,编译成功!!如果你的ide不同,那么就对应的去找如何添加静态编译库吧!
相关文章推荐
- XCode4编译与发布cocos2d工程,到最后出现这个问题的解决方案
- SDK中使用GDI+出现的编译问题解决方案
- 对于Intel汇编语言程序设计中程序编译出现问题及解决方案汇总
- Eclipse+git中merge代码时出现conflict(冲突)的问题解决方案
- ubuntu下 GCC编译程序出现 undefined reference to `std::ios_base::Init::Init()'问题——gcc编译C++代码
- ubuntu12.04 64bit编译android ics4.0代码出现的/usr/bin/ld.bfd.real: cannot find 问题解决
- 不幸的问题还是出现了:Chromium代码上整理patch(working目录/master分支),部分文件做了git checkout恢复,结果GYP再编译就出错了
- UNPv13e中源代码编译(即如何使用头文件unp.h问题)
- VS2008修改部分代码总重新编译整个工程或解决方案的问题解决
- 关于Mac下编译ffmpeg静态库供framework或者dylib调用出现illegal text-relocoation代码重定向问题
- 【学习笔记】编译Linux内核(中)--安装内核时易出现的问题和解决方案
- 更新Xcode6.0.1之后,编译出现Use of undeclared identifier 'GL_BGRA_EXT'问题及解决方案
- 编译时常出现缺少库的问题以及解决方案
- caffe编译出现的问题解决方案
- XCode4编译与发布cocos2d工程,到最后出现这个问题的解决方案
- gcc编译c语言调用mysql存储过程代码出现的问题list
- IDEA编译时候出现问题:代码不提示错误,编译时出错解决办法
- 首次push本地代码到github上出现的问题及解决方案
- redis(三)--Java代码-telnet可以连接成功但是出现Connect timeout问题-解决方案
- CentOS6.5编译内核Modules,出现问题,解决方案