使用ELDK 5.3 APR.H ssize_t错误在Centos 6.3上交叉编译用于ARM的freeswitch

我想在CentOS 6.3上使用ELDK 5.3交叉编译ARM的freeswitch

在make上发现这个错误:

./include/apr.h:347:2: error: #error Can not determine the proper size for ssize_t 

我已经做了以下声明

 declare -x CROSS_COMPILE="/opt/eldk-5.3/armv5te/sysroots/i686-eldk-linux/usr/bin/armv5te-linux-gnueabi/arm-linux-gnueabi-" declare -x CC="$CROSS_COMPILE"gcc declare -x CXX="$CROSS_COMPILE"g++ declare -x CPP="$CROSS_COMPILE"cpp declare -x STRIP="$CROSS_COMPILE"strip declare -x RANLIB="$CROSS_COMPILE"ranlib declare -x AR="$CROSS_COMPILE"ar declare -x AS="$CROSS_COMPILE"as declare -x NM="$CROSS_COMPILE"nm declare -x LD="$CROSS_COMPILE"ld export PATH=$PATH:/opt/eldk-5.3/armv5te/sysroots/i686-eldk-linux/usr/bin/armv5te-linux-gnueabi 

使用以下标志进行configuration

 ./configure --target=arm --host=arm-linux --build=i686-linux --prefix=/opt/eldk-5.3/armv5te/rootfs-base/armcodasVL ac_cv_file__dev_ptmx=yes config_BUILD_CC=gcc config_TARGET_CC=arm-linux-gnueabi-gcc config_TARGET_READLINE_INC=" " ac_cv_file__dev_zero=yes ac_cv_func_setpgrp_void=yes apr_cv_tcp_nodelay_with_cork=yes ac_cv_file_dbd_apr_dbd_mysql_c=no ac_cv_va_copy=yes 

其次是make,我无法弄清楚为什么会发生这种情况! 请build议你们中的任何一个人面对相同的情况?

我之前发布的解决方案是一个不好的方法来做到这一点,因为它是在一个生成的头,后来我找出正确的方法来做到这一点,并添加一个配置标志

 export ac_cv_sizeof_ssize_t=4; 

刚才配置完成之后,一切都很好!

我以某种方式管理它的工作,取代libs / apr / include / apr中的以下行。

 #error Can not determine the proper size for ssize_t 

 #define APR_SSIZE_T_FMT "ld"