手动编译java文件,手动编译cpp

  手动编译java文件,手动编译cpp

  因为阿帕奇-2.2改变了一些接口,使下载的源码不能直接编译,必须进行适当的修改:

  1.找不到年百分率的路径

  修改文件:src/mod_cppserv/Makefile.adon

  手动加上:mod _ csserv _ CPP flags=-I/usr/include/apr-1

  2.apr _套接字_创建少了一个参数(原来只有四个参数)

  修改文件:mod_cserv.cpp

  加上apr _套接字_创建的第四个参数:四月_协议_TCP

  3.APR_BRIGADE_FOREACH无效了

  修改文件:mod_cserv.cpp

  将APR_BRIGADE_FOREACH用

  for(e=APR _ BRIGADE _ FIRST(b);

  e!=APR _ BRIGADE _ SENTINEL(b);

  e=APR_BUCKET_NEXT(e))

  替代。找到源码的更改日志,是这么说的:

  /**

  - *遍历一个水桶大队

  - * @param e当前存储桶

  - * @param b要迭代的旅

  -* @备注这与以下任一项相同:

  - *前

  -* e=APR _ BRIGADE _ FIRST(b);

  - * while (e!=APR _旅_哨兵(b))

  - * .

  -* e=APR _ BUCKET _ NEXT(e);

  - * }

  - *或

  -* for(e=APR _ BRIGADE _ FIRST(b);

  - * e!=APR _ BRIGADE _ SENTINEL(b);

  - * e=APR_BUCKET_NEXT(e)) {

  - * .

  - * }

  -*/前

  -* @警告请注意,您不能在以下范围内更改e的值

  -* foreach循环,也不能销毁它所指向的桶。

  - *修改桶的上一个和然后指针是危险的

  - *但如果你小心的话是可以做到的。如果你改变e的值或者

  - *销毁它指向的桶,然后APR_BRIGADE_FOREACH

  - *将无法找到下一次使用哪个桶

  - *迭代。仔细观察就能看出其中的原因

  - *在上面提示中给出的等效回路处。比如说,

  - *如果你写一个循环,清空一个旅一个桶

  - *每次,APR_BRIGADE_FOREACH都不适合您。做它

  - *用手,像这样:

  - *前

  - * while(!APR_BRIGADE_EMPTY(b)) {

  -* e=APR _ BRIGADE _ FIRST(b);

  - * .

  -* apr _ bucket _ delete(e);

  - * }

  -*/前

  -* @已弃用该宏带来的麻烦比它的价值更大。使用

  - *此处记录的替代方案之一;变得清晰

  - *实际发生的事情非常值得多写一两行代码。

  - *该宏将在将来的某个时候被删除。

  - */

  -#define APR_BRIGADE_FOREACH(e,b) \

  - APR_RING_FOREACH((e),(b)- list,apr_bucket,link)

  -

  4.四月状态是成功(rv)无效了

  修改文件:mod_cserv.cpp

  据说将它改成:rv==APR _状态_是_成功

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: