在windows上编译apache模块

工作需要重新编译apache自带的proxy模块,花了一天时间终于搞定:)

1.安装apache 安装包 httpd-2.2.31-x64-r4.zip,去http://www.apachehaus.com网站下载,他们有已经编译好的程序。

2.配置apxs
  1)安装apxs            安装包apxs_win32
  2)安装Strawberry Perl 安装包strawberry-perl-5.16.3.1-32bit.msi
  3)进入dos命令提示符,转到apxs安装目录下,输入perl Configure.pl,按要求填写apache的安装目录...\apache2.2和命令名称“httpd.exe”
  4)通过上一步,就会在apache2.2\bin下生成apxs命令,并且在apache2.2目录下生成了build目录
  5)修改在apache2.2下build目录中的config_vars.mk文件
    将CC = gcc 的gcc改为cl.exe ,LD = g++的g++改为link.exe,CPP = gcc-E的gcc-E删掉

    编译64位版本 /machine:X64
  6)设置apxs的路径为环境变量,以放便在不进入具体安装目录下运行apxs

3.编译apache模块

   1)把apache源码中的modules/proxy目录拷贝到C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC中。
   1)运行Visual Studio 2008 命令提示(在开始的Microsoft Visual Studio 2008下可以找到),“cd proxy”进入proxy工程目录。
   2)运行“apxs -c -i -a -n proxy mod_proxy.c ajp_header.c ajp_link.c ajp_msg.c ajp_utils.c mod_proxy_ajp.c mod_proxy_balancer.c mod_proxy_connect.c mod_proxy_ftp.c mod_proxy_http.c mod_proxy_scgi.c proxy_util.c libapr-1.lib libaprutil-1.lib libapriconv-1.lib libhttpd.lib”,生成mod_proxy.so
   5)上面的命令会在apache的lib目录中生成mod_proxy.lib
   6)运行apxs -c -i -a -n proxy_balancer mod_proxy_balancer.c libapr-1.lib libaprutil-1.lib libapriconv-1.lib libhttpd.lib mod_proxy.lib,生成mod_proxy_balancer.so文件

 
参考:
http://blog.sina.com.cn/s/blog_62949ff40101a3rb.html

猜你喜欢

转载自weifly.iteye.com/blog/2306196