手动编译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的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。