📄 win_compiling.html.en
字号:
C++ 6.0 format. Visual C++ 5.0 (97) will recognize them. Visual C++ 7.0 (.net) must convert <code>Apache.dsw</code> plus the <code>.dsp</code> files into an <code>Apache.sln</code> plus <code>.msproj</code> files, be sure you reconvert the <code>.msproj</code> file if any of the source <code>.dsp</code> files change! This is really trivial, just open <code>Apache.dsw</code> in the VC++ 7.0 IDE once again.</p> <p>Visual C++ 7.0 (.net) users should also use the Build menu, Configuration Manager dialog to uncheck both the <code>Debug</code> and <code>Release</code> Solution modules abs, <code class="module"><a href="../mod/mod_ssl.html">mod_ssl</a></code> and <code class="module"><a href="../mod/mod_deflate.html">mod_deflate</a></code>. These modules are built by invoking <code>nmake</code> or the IDE directly with the <code>BinBuild</code> target to build those modules explicitly, only if the <code>srclib</code> directories <code>openssl</code> and/or <code>zlib</code> exist.</p> <p>Exported <code>.mak</code> files pose a greater hassle, but they are required for Visual C++ 5.0 users to build <code class="module"><a href="../mod/mod_ssl.html">mod_ssl</a></code>, abs (<code class="program"><a href="../programs/ab.html">ab</a></code> with SSL support) and/or <code class="module"><a href="../mod/mod_deflate.html">mod_deflate</a></code>. VC++ 7.0 (.net) users also benefit, <code>nmake</code> builds are faster than <code>binenv</code> builds. Build the entire project from within the VC++ 5.0 or 6.0 IDE, then use the Project Menu Export for all makefiles. You must build the projects first in order to create all dynamic auto-generated targets, so that dependencies can be parsed correctly. Run the following command to fix the paths so they will build anywhere:</p> <div class="example"><p><code> perl srclib\apr\build\fixwin32mak.pl </code></p></div> <p>You must type this command from the <em>top level</em> directory of the httpd source tree. Every <code>.mak</code> and <code>.dep</code> project file within the current directory and below will be corrected, and the timestamps adjusted to reflect the <code>.dsp</code>.</p> <p>If you contribute back a patch that revises project files, we must commit project files in Visual Studio 6.0 format. Changes should be simple, with minimal compilation and linkage flags that will be recognized by all VC++ 5.0 through 7.0 environments.</p> </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div><div class="section"><h2><a name="projectcomponents" id="projectcomponents">Project Components</a></h2> <p>The <code>Apache.dsw</code> workspace and <code>makefile.win</code> <code>nmake</code> script both build the <code>.dsp</code> projects of the Apache server in the following sequence:</p> <ol> <li><code>srclib\apr\apr.dsp</code></li> <li><code>srclib\apr\libapr.dsp</code></li> <li><code>srclib\apr-util\uri\gen_uri_delims.dsp</code></li> <li><code>srclib\apr-util\xml\expat\lib\xml.dsp</code></li> <li><code>srclib\apr-util\aprutil.dsp</code></li> <li><code>srclib\apr-util\libaprutil.dsp</code></li> <li><code>srclib\pcre\dftables.dsp</code></li> <li><code>srclib\pcre\pcre.dsp</code></li> <li><code>srclib\pcre\pcreposix.dsp</code></li> <li><code>server\gen_test_char.dsp</code></li> <li><code>libhttpd.dsp</code></li> <li><code>Apache.dsp</code></li> </ol> <p>In addition, the <code>modules\</code> subdirectory tree contains project files for the majority of the modules.</p> <p>The <code>support\</code> directory contains project files for additional programs that are not part of the Apache runtime, but are used by the administrator to test Apache and maintain password and log files. Windows-specific support projects are broken out in the <code>support\win32\</code> directory.</p> <ol> <li><code>support\ab.dsp</code></li> <li><code>support\htdigest.dsp</code></li> <li><code>support\htpasswd.dsp</code></li> <li><code>support\logresolve.dsp</code></li> <li><code>support\rotatelogs.dsp</code></li> <li><code>support\win32\ApacheMonitor.dsp</code></li> <li><code>support\win32\wintty.dsp</code></li> </ol> <p>Once Apache has been compiled, it needs to be installed in its server root directory. The default is the <code>\Apache2</code> directory, of the same drive.</p> <p>To build and install all the files into the desired folder <em>dir</em> automatically, use one of the following <code>nmake</code> commands:</p> <div class="example"><pre>nmake /f Makefile.win installr INSTDIR=<em>dir</em>nmake /f Makefile.win installd INSTDIR=<em>dir</em> </pre></div> <p>The <em>dir</em> argument to <code>INSTDIR</code> gives the installation directory; it can be omitted if Apache is to be installed into <code>\Apache2</code>.</p> <p>This will install the following:</p> <ul> <li><code><em>dir</em>\bin\Apache.exe</code> - Apache executable</li> <li><code><em>dir</em>\bin\ApacheMonitor.exe</code> - Service monitor taskbar icon utility</li> <li><code><em>dir</em>\bin\htdigest.exe</code> - Digest auth password file utility</li> <li><code><em>dir</em>\bin\htdbm.exe</code> - SDBM auth database password file utility</li> <li><code><em>dir</em>\bin\htpasswd.exe</code> - Basic auth password file utility</li> <li><code><em>dir</em>\bin\logresolve.exe</code> - Log file dns name lookup utility</li> <li><code><em>dir</em>\bin\rotatelogs.exe</code> - Log file cycling utility</li> <li><code><em>dir</em>\bin\wintty.exe</code> - Console window utility</li> <li><code><em>dir</em>\bin\libapr.dll</code> - Apache Portable Runtime shared library</li> <li><code><em>dir</em>\bin\libaprutil.dll</code> - Apache Utility Runtime shared library</li> <li><code><em>dir</em>\bin\libhttpd.dll</code> - Apache Core library</li> <li><code><em>dir</em>\modules\mod_*.so</code> - Loadable Apache modules</li> <li><code><em>dir</em>\conf</code> - Configuration directory</li> <li><code><em>dir</em>\logs</code> - Empty logging directory</li> <li><code><em>dir</em>\include</code> - C language header files</li> <li><code><em>dir</em>\lib</code> - Link library files</li> </ul> <h3><a name="projectcomponents-warn" id="projectcomponents-warn">Warning about building Apache from the development tree</a></h3> <div class="note">Note only the <code>.dsp</code> files are maintained between <code>release</code> builds. The <code>.mak</code> files are NOT regenerated, due to the tremendous waste of reviewer's time. Therefore, you cannot rely on the <code>NMAKE</code> commands above to build revised <code>.dsp</code> project files unless you then export all <code>.mak</code> files yourself from the project. This is unnecessary if you build from within the Microsoft Developer Studio environment.</div> <div class="note">Also note it is very worthwhile to build the <code>BuildBin</code> target project (or the command line <code>_apacher</code> or <code>_apached</code> target) prior to exporting the make files. Many files are autogenerated in the build process. Only a full build provides all of the dependent files required to build proper dependency trees for correct build behavior.</div> <p>In order to create distribution <code>.mak</code> files, always review the generated <code>.mak</code> (or <code>.dep</code>) dependencies for Platform SDK or other garbage includes. The <code>DevStudio\SharedIDE\bin\</code> (VC5) or <code>DevStudio\Common\MSDev98\bin\</code> (VC6) directory contains the <code>sysincl.dat</code> file, which must list all exceptions. Update this file (including both forward and backslashed paths, such as both <code>sys/time.h</code> and <code>sys\time.h</code>) to include such dependencies. Including local-install paths in a distributed <code>.mak</code> file will cause the build to fail completely. And don't forget to run <code>srclib/apr/build/fixwin32mak.pl</code> in order to fix absolute paths within the <code>.mak</code> files.</p> </div></div><div class="bottomlang"><p><span>Available Languages: </span><a href="../en/platform/win_compiling.html" title="English"> en </a> |<a href="../ko/platform/win_compiling.html" hreflang="ko" rel="alternate" title="Korean"> ko </a></p></div><div id="footer"><p class="apache">Copyright 2007 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p><p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html">Glossary</a> | <a href="../sitemap.html">Sitemap</a></p></div></body></html>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -