问题:是否有关于如何为Windows构建Apache的手册/步骤?官方文档是不够的。
我尝试在Windows 7 Service Pack 3上使用Visual Studio 2008 Professional在Windows上编译Apache HTTP Server 2.4,但完全没有希望! 已经使用Apache HTTP Server 2.2测试了相同的步骤,并且已经成功构建过程。
我不知道什么是错的,或者什么是遗漏的。接下来是步骤:
Visual Studio 2008 Command Prompt:
"C:\Program Files\Microsoft Visual Studio 9.0\VC\bin\vcvars32.bat"
cd C:\path\to\httpd-2.4.2
perl srclib\apr\build\lineends.pl
perl srclib\apr\build\cvtdsp.pl -2005
cd srclib\zlib
nmake -f win32/Makefile.msc LOC="-DASMV -DASMINF -I." OBJA="inffas32.obj match686.obj"
MT -manifest zlib1.dll.manifest -outputresource:zlib1.dll;2
cd ..\..\srclib\openssl
perl Configure VC-WIN32 enable-camellia disable-idea
ms\do_nasm
nmake /f ms\ntdll.mak
Open Apache.dsw with VS9 "Yes to All" to the "convert projects" question, Select relase win32
Now build InstallBin
Test your build
已经存在必需的库:
srclib\apr
srclib\apr-iconv
srclib\apr-util
srclib\openssl
srclib\pcre
srclib\zlib
正如我所说,所有Apache HTTP Server 2.2 编译都是成功的,而所有Apache HTTP Server 2.4 都是不。
这是最常出现的错误,重复超过100次:
fatal error LNK1181: cannot open input file '..\..\release\libhttpd.lib'
其他错误:
fatal error LNK1181: cannot open input file '..\release\mod_proxy_balancer.lib'
fatal error LNK1181: cannot open input file '..\core\release\mod_watchdog.lib'
fatal error C1083: Cannot open include file: 'pcre.h': No such file or directory
fatal error U1077: '"C:\Program Files\Microsoft Visual Studio 9.0\Common7\ide\devenv.COM"' : return code '0x1'
error PRJ0019: A tool returned an error code from "Performing Makefile project actions"
注意:我注意到Apache 2.4软件包中缺少多个.mak文件,包括httpd.mak和amp;其他。我认为这是问题的重要部分。
有什么建议吗?
环境:Windows 7 | Visual Studio 2008 | Cygin | Apache HTTP Server 2.4源| APR / APR-UTIL / APR-ICONV / ZLIB / OPENSSL
答案 0 :(得分:1)
在尝试自己编译Apache之前,尝试编译每个依赖项之前编译每个依赖项以及每个依赖项的依赖项。