这里没有软件测试的泛泛理论,只有博主的最佳实践。 博主的研究方向为静态分析和性能测试,致力于各种测试工具的引入、评估和开发。 本博的测试文章均为作者原创,转载请务必注明出处。

使用Visual C++ 6.0编译Apache 2.0.63

上一篇 / 下一篇  2008-12-17 14:10:35

最近在练习Coverity的使用,选中了Apache开源的代码为例子,从官方网站下载了Apache 2.0.63的windows源代码,使用Visual C++ 6.0编译。

原以为会很顺利的通过,但事与愿违,竟然提示有语法错误。细看起来,原来错误全部集中在rand.c一个文件,提示HCRYPTPROV是没有定义的东东。经过一番折腾,在google了中文论坛(主要是CSDN)后,没有找到有价值的解决方法,后在英文论坛里终于找到了解决的方法。

1 修改rand.c。以下是修改好的rand.c中的#include部分

//#include <windows.h>
//#include <wincrypt.h>
#include "apr.h"
#include "apr_private.h"
#include "apr_general.h"
#include "apr_portable.h"
#include "apr_arch_misc.h"
#include <wincrypt.h>

其实就是注释掉windows.h的#include,把#include <wincrypt.h>的顺序换一下,只要把它放到#include "apr.h"之后就可以了。

这么做以后,再次编译,顺利通过。但最后提示link还有一点问题。

2 看提示,好像是找不到awk。结果在apache的手册中找到解决方法。就是在cygwin中删除awk.exe,然后把gawk.exe修改为awk.exe即可。详细的信息请参考http://httpd.apache.org/docs/2.2/platform/win_compiling.html

在这个问题解决掉以后,竟然发现了以上的中文翻译文档,向翻译者致敬。

http://lamp.linux.gov.cn/Apache/ApacheMenu/platform/win_compiling.html

这两个问题解决以后,这次用Visual C++ 6.0编译apache成功。


TAG:

引用 删除 snappyboy   /   2008-12-23 00:20:24
很奇怪,没有安装cygwin和awk.exe多编译即便也能编译通过,生成apache.exe,可以运行见到下面提示的:
Apache.exe: could not open document config file E:/OpenSource/httpd-2.0.63/Debug
/conf/httpd.conf
Press any key to continue
 

评分:0

我来说两句

Open Toolbar