ushare编译之 ‘struct sockaddr_storage’ has no member named ‘s_addr’
编译ushare的时候出现‘struct sockaddr_storage’ has no member named ‘s_addr’
这是使用libupnp1.6.19出现版本号不兼容的错误。
解决方法:libupnp换成1.4.2版本号
配置:
----------------------------------------------------------------------------------------------------
$ ./configure
Checking forcompiler available...
Checking for locales...
Checking for ifaddrs...
Checking forlanginfo ...
Checking for iconv...
Checking for libixml...
Checking forlibthreadutil ...
Checkingfor libupnp >= 1.4.2 ...
uShare: configure isOK
version 1.1a
using libupnp 1.6.19
configuration:
install prefix /usr/local
configuration dir ${PREFIX}/etc
locales dir ${PREFIX}/share/locale
NLS support yes
DLNA support no
C compiler gcc
STRIP strip
make make
CPU x86 ()
debug symbols no
strip symbols yes
optimize yes
CFLAGS -I.. -W -Wall -D_LARGEFILE_SOURCE-D_FILE_OFFSET_BITS=64 -D_REENTRANT -D_GNU_SOURCE -O3 -DHAVE_LOCALE_H-DHAVE_SETLOCALE -DHAVE_IFADDRS_H -DHAVE_LANGINFO_H -DHAVE_LANGINFO_CODESET-DHAVE_ICONV
-pthread -I/usr/local/include/upnp
LDFLAGS
extralibs -lixml -lthreadutil -lpthread -lupnp-pthread -L/usr/local/lib
Creating config.mak...
Creating config.h...
-------------------------------------------------------------------------------------------------
须要开启DLNA支持的话,使用:
$./configure --enablle-dlna
编译:
$make
----------------------------------------------------------------------------
…
ushare.c: Infunction ‘handle_action_request’:
ushare.c:191:29:error: ‘struct sockaddr_storage’ has no member named ‘s_addr’
make[1]: ***[ushare.o] Error 1
make[1]: Leavingdirectory `/home/won/Downloads/ushare-1.1a/src'
make: *** [all]Error 2
---------------------------------------------------------------------------
查看ushare.c文件相应内容:
…/src/ushare.c
-----------------------------------------------------------------------------------------------------------------------
191
ip = request->CtrlPtIPAddr.s_addr;
192 ip = ntohl (ip);
193 sprintf (val, "%d.%d.%d.%d",
194 (ip >> 24) & 0xFF, (ip>> 16) & 0xFF, (ip >> 8) & 0xFF, ip & 0xFF);
-----------------------------------------------------------------------------------------------------------------------
看看struct sockaddr_storage的定义在哪个头文件
-------------------------------------------------------------------------
$ grep -rn"struct sockaddr_storage" /usr/local/include/
/usr/local/include/upnp/upnp.h:632: struct sockaddr_storage CtrlPtIPAddr;
/usr/local/include/upnp/upnp.h:679: struct sockaddr_storage CtrlPtIPAddr;
/usr/local/include/upnp/upnp.h:759: struct sockaddr_storage DestAddr;
-------------------------------------------------------------------------
这里看到的都不是它的定义
找了非常久还是没有发现它的定义,FQgoogle一下:
还有这个:
还是乖乖把libupnp换成1.4.2版本号吧。。。
ushare编译之 ‘struct sockaddr_storage’ has no member named ‘s_addr’的更多相关文章
- 【Linux】解决"no member named 'max_align_t'
编译遇到错误: /usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.1/../../../../include/c++/5.4.1/cstddef:51:11: erro ...
- 安装Stomp扩展时错误提示error: 'zend_class_entry' has no member named 'default_properties'
在安装stomp扩展时, 有这样的提示 error: 'zend_class_entry' has no member named 'default_properties' 交待下安装上下文, sto ...
- 错误:'class QApplication' has no member named 'setMainwidget'
错误:'class QApplication' has no member named 'setMainwidget' 转自:http://blog.csdn.net/chenqiai0/articl ...
- NDK 编译报错:request for member 'FindClass' in something not a structure or union
ndk编译 xx.c文件时一直报下面的错误: ”request for member 'FindClass' in something not a structure or union ...” 原因 ...
- Spark wordcount 编译错误 -- reduceByKey is not a member of RDD
Attempting to run http://spark.apache.org/docs/latest/quick-start.html#a-standalone-app-in-scala fro ...
- Solve error: 'class vtkImageActor' has no member named 'SetInput'
Replacement of SetInput() with SetInputData() and SetInputConnection() someFilter->SetInput(someR ...
- class Qstring has no member named to Ascii
人家修改了.真的没有toAscii了.不过可以用toLatin1或者qPrintable()
- No member named 'setResizeMode' in 'QHeaderView' - Convert Qt 4.7 to Qt 5.8
https://stackoverflow.com/questions/42743141/no-member-named-setresizemode-in-qheaderview-convert-qt ...
- Ubuntu 编译安装 Linux 4.0.5 内核,并修复 vmware 网络内核模块编译错误
. . . . . 今天把 Ubuntu 14.04 升级到了最新的 4.0.5 的内核版本,本来不打算记录下来的,但是升级的过程中确实遇到了一些问题,所以还是记录下来,分享给遇到同样问题的猿友. 先 ...
随机推荐
- 3种jQuery弹出大图效果
本实例用到了jquery.imgbox.pack.js库.直接看代码: <!DOCTYPE html> <html lang="en"> <head& ...
- Prime Gift(prime)
Prime Gift(prime) 题目描述 Jyt有nn个质数,分别为p1,p2,p3-,pnp1,p2,p3-,pn. 她认为一个数xx是优秀的,当且仅当xx的所有质因子都在这nn个质数中. 她想 ...
- list dict 性能测试
from random import randint def load_list_data(total_nums, target_nums): """ 从文件中读取数据, ...
- 物理的alpha blend
alpha blend主要是可以用来模拟半透明的笔触..然而它是有缺陷的.. 因为一般的alpha blend的(线性混合)模型没有考虑反射光的问题..然而其实反射光是很重要的大家都知道.. 好..如 ...
- Ruby系列教程(附ruby电子书下载)【转】
摘要:http://www.cnblogs.com/dahuzizyd/category/97947.html 关键字:Ruby On Rails ,InstantRails,Windows,入门,教 ...
- (三)Spring 依赖注入
一.Spring框架本身有四大原则: 使用POJO进行轻量级和最小侵入式开发. 通过依赖注入和接口变成实现松耦合. 通过AOP和默认习惯进行声明式变成. 使用AOP和模板减少模式化代码. Spring ...
- HDU 4487 Maximum Random Walk
Maximum Random Walk Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Othe ...
- js常用方法 备用
/* function obj$(id) 根据id得到对象 function val$(id) 根据id得到对象的值 ...
- onCreate、onStart、onResume、onPause、onStop、onDestory(转)
程序正常启动:onCreate()->onStart()->onResume();正常退出:onPause()->onStop()->onDestory() 一个Activit ...
- Cryptography I 学习笔记 --- 认证加密
1. 认证加密,Alice与Bob共享一个密钥k,Alice可以发送密文E给Bob,Bob可以确定接收到的E一定是拥有密钥k的Alice产生的.而不是攻击者随便产生的. 2. 认证加密必须能抵挡住选择 ...