歡迎您光臨本站 註冊首頁

Windows 下Apache httpd-2.2.11編譯手記

←手機掃碼閱讀     火星人 @ 2014-03-04 , reply:0

Windows 下Apache httpd-2.2.11編譯手記

平台:windows XP
編譯工具:Microsoft VC6.0
源碼下載:http://apache.mirror.phpchina.com/httpd/
下載版本:httpd-2.2.11-win32-src-r2.zip     06-Jan-2009 02:55  9.6M  HTTP Server project
1) 下載源碼后解壓,使用VC打開Apache.dsw文件,設置BuildBin classess 工程為Active。
2)開始編譯,在編譯中VC可能會提示錯誤。
3)如果編譯提示沒有找到strings.h和inet.h 錯誤:
D:\httpd-2.2.11\srclib\apr\include\apr_want.h(52): Could not find the file strings.h
D:\httpd-2.2.11\srclib\apr\include\apr_want.h(121): Could not find the file arpa/inet.h  
   打開httpd-2.2.11\srclib\apr\include\apr_want.h 文件,把以下行註釋掉:
#if APR_HAVE_STRINGS_H
#include <strings.h>
#endif

#if APR_HAVE_ARPA_INET_H
#include <arpa/inet.h>
#endif

4) 如果編譯時候提示不支持LDAP v2.0錯誤:
apr_ldap_stub.c
./include\apr_ldap.h(132) : fatal error C1189: #error :  Support for LDAP v2.0 toolkits has been removed from apr-util. Please use an LDAP v3.0 toolkit.
apr_ldap_url.c
apr_ldap_url.c
./include\apr_ldap.h(132) : fatal error C1189: #error :  Support for LDAP v2.0 toolkits has been removed from apr-util. Please use an LDAP v3.0 toolkit.
Generating Code...
    打開httpd-2.2.11\srclib\apr-util\include\apr_ldap.h 文件,註釋該行代碼:
#error Support for LDAP v2.0 toolkits has been removed from apr-util. Please use an LDAP v3.0 toolkit.
5) 如果出現identifier 'SQLLEN' 錯誤:
D:httpd-2.2.11\srclib\apr-util\dbd\apr_dbd_odbc.c(134) : error C2061: syntax error : identifier 'SQLLEN'
    打開文件:httpd-2.2.11\srclib\apr-util\dbd\apr_dbd_odbc.c,在文件頭部添加以下行:
typedef INT32 SQLLEN;
6) 如果出現LDAP_VENDOR_NAME 錯誤:
D:\httpd-2.2.11\srclib\apr-util\ldap\apr_ldap_init.c(194) : error C2146: syntax error : missing ';' before identifier 'LDAP_VENDOR_NAME'
D:\httpd-2.2.11\srclib\apr-util\ldap\apr_ldap_init.c(195) : error C2065: 'LDAP_VENDOR_NAME' : undeclared identifier
D:\httpd-2.2.11\srclib\apr-util\ldap\apr_ldap_init.c(195) : error C2143: syntax error : missing ';' before 'string'
   打開httpd-2.2.11\srclib\apr-util\ldap\apr_ldap_init.c 文件,註釋以下行:
LDAP_VENDOR_NAME
7) 如果出現WtsApi32.h沒有包含錯誤:
D:\httpd-2.2.11\support\win32\ApacheMonitor.c(45) : fatal error C1083: Cannot open include file: WtsApi32.h': No such file or directory
   該提示表示沒有安裝或配置Microsoft 的PlatformSDK,需要去微軟網站上下載PlatformSDK,並安裝。
8) 如果提示awk 錯誤:
'awk' 不是內部或外部命令,也不是可運行的程序或批處理文件。
Error executing c:\windows\system32\cmd.exe.
   這個錯誤是由於沒有安裝awk工具導致,可以先到http://www.gnu.org/software/gawk/ 下載一個gawk進行安裝。如果安裝的目錄為:C:\Program Files\GnuWin32,在該目錄下可以看到一個bin目錄,需要把該目錄添加到VC Executable files。我的bin目錄完整路徑為:C:\Program Files\GnuWin32\bin,以下圖以該目錄為例子進行添加:




[ 本帖最後由 ftomorrow 於 2009-3-18 17:35 編輯 ]
《解決方案》

哪裡下載win32版本的awk???

[火星人 ] Windows 下Apache httpd-2.2.11編譯手記已經有835次圍觀

http://coctec.com/docs/service/show-post-14931.html