build ACE under freebsd 7.0 之问题解决
2010-09-06 10:32
453 查看
不少人都尝试ACE在bsd下的build和开发,为了便于大家快速解决build时碰到的问题,
这里给出ACE 在 freebsd 7.0下build的 问题解决办法, 供大家参考。
1)../../ace/OS_NS_signal.inl: In function ‘int ACE_OS::pthread_sigmask(int, const sigset_t*, sigset_t*)’:
../../ace/OS_NS_signal.inl:31: error: ‘::pthread_sigmask’ has not been declared
解决办法:
打开ace/OS_NS_signal.inl,在头部添加
#include <pthread.h>
#include <signal.h>
2)/../ace/OS_NS_netdb.inl:189: error: cannot convert ‘int*’ to ‘hostent**’ for argument ‘7′ to ‘int gethostbyaddr_r(const void*, socklen_t, int, hostent*, char*, size_t, hostent**, int*)’
解决办法:
打开ace/config.h,在其中添加
#define ACE_LACKS_NETDB_REENTRANT_FUNCTIONS
3)/../ace/Monitor_Control/BSD_Network_Interface_Monitor.cpp:87 has incomplete type
struct ifdatareq ifdr; memset (&ifdr, 0, sizeof (ifdr));
解决办法:freebsd的<net/if.h>并没有定义ifdatareq struct,在:87前面手工增加 struct:
struct ifdatareq {
char ifdr_name[IFNAMSIZ];
struct if_data ifdr_data;
};
struct ifdatareq ifdr;
memset (&ifdr, 0, sizeof (ifdr));
前面2个问题的解决办法参考 http://www.sunchangming.com/blog/?p=234,
第3个问题本人通过找到if.h的源文件解决,发现struct ifdatareq的定义遗漏了。
这里给出ACE 在 freebsd 7.0下build的 问题解决办法, 供大家参考。
1)../../ace/OS_NS_signal.inl: In function ‘int ACE_OS::pthread_sigmask(int, const sigset_t*, sigset_t*)’:
../../ace/OS_NS_signal.inl:31: error: ‘::pthread_sigmask’ has not been declared
解决办法:
打开ace/OS_NS_signal.inl,在头部添加
#include <pthread.h>
#include <signal.h>
2)/../ace/OS_NS_netdb.inl:189: error: cannot convert ‘int*’ to ‘hostent**’ for argument ‘7′ to ‘int gethostbyaddr_r(const void*, socklen_t, int, hostent*, char*, size_t, hostent**, int*)’
解决办法:
打开ace/config.h,在其中添加
#define ACE_LACKS_NETDB_REENTRANT_FUNCTIONS
3)/../ace/Monitor_Control/BSD_Network_Interface_Monitor.cpp:87 has incomplete type
struct ifdatareq ifdr; memset (&ifdr, 0, sizeof (ifdr));
解决办法:freebsd的<net/if.h>并没有定义ifdatareq struct,在:87前面手工增加 struct:
struct ifdatareq {
char ifdr_name[IFNAMSIZ];
struct if_data ifdr_data;
};
struct ifdatareq ifdr;
memset (&ifdr, 0, sizeof (ifdr));
前面2个问题的解决办法参考 http://www.sunchangming.com/blog/?p=234,
第3个问题本人通过找到if.h的源文件解决,发现struct ifdatareq的定义遗漏了。
相关文章推荐
- 升级iOS7遇到问题This device isn't eligible for the requested build的解决方法
- FreeSpider开发CGI遇到的乱码问题解决
- 解决Android 7.0 (Android N)中 Android Device Monitor(DDMS)的 File Explorer不显示目录树的问题
- FreeBSD7.0+opengate+ipfw(网页网关认证)Captive Portal(1)
- PHP7.0编译安装ext/curl/.libs/ conflict 问题解决
- 解决Android Studio Gradle Build Running慢的问题
- 解决在Tomcat7.0以上版本,Invalid character found in the request target问题
- 解决 CentOS 7.0 在VMware 10下安装 WMware Tools错误的问题
- 解决:MavenBuild,即Maven生成Jar包时报错问题
- freebsd nfs 挂载遇到的问题
- svn is already under version control问题解决
- ACE 第一个练习:Web Client,解决了400 Bad Request问题,但不知为什么要这么做
- FreeBSD7.0 中安装fcitx
- FreeBSD NO /boot/kernel/kernel错误的解决
- android gradle build resources.arsc文件未压缩问题解决
- Setting up a CD/DVD burner under FreeBSD
- FreeBSD root 不能登录的解决办法
- freebsd7.0+svn1.5+trac+Apache2搭建软件项目管理解决方案
- 生产上数据库大量的latch free 导致的CPU资源耗尽的问题的解决
- Matlab 7.0不断重启问题解决方法