编译apr过程如下:
[root@localhost apr-util]# ./configure CC=arm-linux-gcc --host=arm-linux --prefix=/usr/local/arm/4.3.2/arm-linux --enable-so --with-mpm=worker ac_cv_file__dev_zero=yes ac_cv_func_setpgrp_void=yes apr_cv_process_shared_works=yes apr_cv_mutex_robust_shared=yes apr_cv_tcp_nodelay_with_cork=yes ap_void_ptr_lt_long=no
然后再:
make
make install
这样apr就安装到了=/usr/local/arm/4.3.2/arm-linux
另外apr提供的工具包apr-util提供了相关的扩展工具,本人尤其对线程池尤感兴趣,configure时使用" --with-apr=/usr/local/arm/4.3.2/arm-linux"指示apr包的位置。
在编译的过程中会提示“iovec定义重复”在/apr/include目录。修改apr_want.h文件。将
struct iovec
{
char *iov_base;
size_t iov_len;
};修改为
#if 0
struct iovec
{
char *iov_base;
size_t iov_len;
};
#endif
打算学习下apr包,这个相比较ACE算轻量级了,他提供了较低级别的封装。不过凭借其在apache服务器上的表现,用在嵌入式应用开发中应该是可以信赖的!
浙公网安备 33010602011771号