win_compiling.html.fr 31 KB
Newer Older
powelld's avatar
powelld committed
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 559 560 561 562 563 564 565 566 567 568 569 570 571 572 573 574 575 576 577 578 579 580 581 582 583 584 585 586 587 588 589 590 591 592 593 594 595 596 597 598 599 600 601 602 603
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="fr" xml:lang="fr"><head>
<meta content="text/html; charset=ISO-8859-1" http-equiv="Content-Type" />
<!--
        XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
              This file is generated from xml source: DO NOT EDIT
        XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
      -->
<title>Compiler Apache pour Microsoft Windows - Serveur Apache HTTP Version 2.4</title>
<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" />
<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" />
<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /><link rel="stylesheet" type="text/css" href="../style/css/prettify.css" />
<script src="../style/scripts/prettify.min.js" type="text/javascript">
</script>

<link href="../images/favicon.ico" rel="shortcut icon" /></head>
<body id="manual-page"><div id="page-header">
<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p>
<p class="apache">Serveur Apache HTTP Version 2.4</p>
<img alt="" src="../images/feather.png" /></div>
<div class="up"><a href="./"><img title="&lt;-" alt="&lt;-" src="../images/left.gif" /></a></div>
<div id="path">
<a href="http://www.apache.org/">Apache</a> &gt; <a href="http://httpd.apache.org/">Serveur HTTP</a> &gt; <a href="http://httpd.apache.org/docs/">Documentation</a> &gt; <a href="../">Version 2.4</a> &gt; <a href="./">Notes spécifiques à certaines
  plates-formes</a></div><div id="page-content"><div id="preamble"><h1>Compiler Apache pour Microsoft Windows</h1>
<div class="toplang">
<p><span>Langues Disponibles: </span><a href="../en/platform/win_compiling.html" hreflang="en" rel="alternate" title="English">&nbsp;en&nbsp;</a> |
<a href="../fr/platform/win_compiling.html" title="Français">&nbsp;fr&nbsp;</a> |
<a href="../ko/platform/win_compiling.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a></p>
</div>


    <p>Il y a de nombreux points importants à connaître avant de
    compiler Le serveur HTTP Apache pour Microsoft Windows. Avant de commencer, lisez le
    document <a href="windows.html">Utiliser le serveur HTTP Apache avec Microsoft
    Windows</a>.</p>

    <p>httpd peut être compilé sous Windows en utilisant une chaîne de
    compilation basée sur cmake, ou à partir de fichiers projet Visual
    Studio maintenus par les développeurs de httpd. La chaîne de
    compilation basée sur cmake supporte directement davantage de
    versions de Visual Studio, mais possède actuellement des
    fonctionnalités très limitées.</p>

  </div>
<div id="quickview"><a href="https://www.apache.org/foundation/contributing.html" class="badge"><img src="https://www.apache.org/images/SupportApache-small.png" alt="Support Apache!" /></a><ul id="toc"><li><img alt="" src="../images/down.gif" /> <a href="#requirements">Prérequis</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#unixsrcbuild">Compilation à partir des sources Unix</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#commandbuild">Compilation à partir de la ligne de commandes</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#workspacebuild">Compilation depuis l'espace de travail IDE de Developer
    Studio</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#exportingmakfiles">Export des fichiers .mak de la ligne de commandes</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#installation">Installation</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#projectcomponents-warn">Avertissement à propos de la compilation d'Apache à partir de
l'arborescence de développement</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#cmake">Compilation de httpd avec cmake</a></li>
</ul><h3>Voir aussi</h3><ul class="seealso"><li><a href="#comments_section">Commentaires</a></li></ul></div>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="section">
<h2><a name="requirements" id="requirements">Prérequis</a></h2>

    

    <p>Pour compiler Apache, l'environnement doit satisfaire aux
    conditions suivantes :</p>

    <ul>
      <li>
        <p>Espace disque</p>

        <p>Assurez-vous de disposer d'un minimum de 200 Mo d'espace
	disque disponible. Après l'installation, Apache occupe environ
	80 Mo d'espace disque, plus l'espace réservé aux journaux et au
	cache, la taille de ces derniers pouvant augmenter rapidement.
	Les besoins réels en espace disque dépendent étroitement de la
	configuration choisie et des bibliothèques ou modules tiers
	installés, en particulier lorsqu'OpenSSL est mis en oeuvre.
	Comme de nombreux fichiers sont au format texte et donc
	facilement compressibles, l'utilisation de la compression du
	système de fichiers NTFS divise ces besoins par deux.</p>
      </li>

      <li>
        <p>Correctifs requis</p>

        <p>Le binaire httpd est compilé à l'aide de nombreux correctifs
	appliqués aux paquets tiers, ce qui permet de s'assurer que le
	code fourni est bien compilable et déboguable. Ces correctifs
	sont disponibles à <a href="http://www.apache.org/dist/httpd/binaries/win32/patches_applied/">http://www.apache.org/dist/httpd/binaries/win32/patches_applied/</a>,
	et il est recommandé de les appliquer afin d'obtenir un
	résultat identique aux binaires "officiels" distribués par
	l'ASF.</p>
      </li>

      <li>
        <p>Microsoft Visual C++ 6.0 (Visual Studio 97) ou supérieur.</p>

        <p>Apache peut être compilé en utilisant l'outil ligne de
	commande, ou depuis l'espace de travail IDE Visual Studio. Pour
	la compilation depuis la ligne de commandes, l'environnement
	doit comporter les variables the <code>PATH</code>,
	<code>INCLUDE</code>, <code>LIB</code>, ainsi que d'autres
	variables qui peuvent être définies via le script
	<code>vcvars32.bat</code> :</p>

        <div class="note">Vous pouvez vous procurer le paquet du Processeur Visual
	Studio pour votre ancienne version de Visual Studio, ou une
	version complète (et non Express) d'une édition plus récente de
	Visual Studio pour l'assembleur ml.exe. Ceci vous permettra, si
	vous le souhaitez, de compiler OpenSSL en utilisant une
	implémentation du code d'assemblage plus efficace.</div>

        <div class="note">Seule la chaîne d'outils de compilation de Microsoft est
	supportée de manière suivie par les contributeurs actifs à httpd.
	Bien que le projet accepte régulièrement des correctifs pour
	s'assurer que MinGW et d'autre outils de compilation
	fonctionnent, ou même pour les améliorer, ils ne sont pas
	maintenus de manière suivie et sont même souvent hors d'état
	de fonctionner à certains stades du développement normal.</div>
      </li>

      <li>
        <p>Le SDK de la plate-forme Windows mis à jour, février 2003 ou
	plus récent.</p>

	<p>Un SDK approprié pour la plate-forme Windows est inclus par
	défaut dans les versions complètes (et non Express/lite) de
	Visual C++ 7.1 (Visual Studio 2002) et supérieures ; les
	utilisateurs peuvent ignorer ces étapes, à moins qu'ils aient
	choisi d'utiliser une version plus récente ou différente du SDK.</p>

	<p>Pour pouvoir utiliser Visual C++ 6.0 or 7.0 (Studio 2000
	.NET), l'environnement du SDK de la plate-forme doit être préparé en utilisant le
	script <code>setenv.bat</code> (installé par le SDK de la plate-forme) avant de
	lancer la compilation en ligne de commande ou l'interface GUI
	msdev/devenv. L'installation du SDK de la plate-forme pour les
	versions Express de Visual Studio (2003 et supérieures) devrait
	ajuster l'environnement par défaut de manière appropriée.</p>

        <div class="example"><p><code>
	  "c:\Program Files\Microsoft Visual Studio\VC98\Bin\VCVARS32"<br />
          "c:\Program Files\Platform SDK\setenv.bat"
        </code></p></div>


      </li>

      <li>
        <p>Perl et awk</p>

	<p>De nombreuses étapes recommandées ici nécessitent un
	interpréteur perl durant le processus de préparation de la
	compilation.</p>

        <p>Pour installer Apache à partir du système de compilation, de
	nombreux fichiers sont modifiés via l'utilitaire
	<code>awk.exe</code>. awk effectue la modification des fichiers
	au moment de l'installation ; il a été choisi car il nécessite
	un téléchargement de petite taille (par rapport à Perl ou
	WSH/VB). Le site de Brian Kernighan <a href="http://www.cs.princeton.edu/~bwk/btl.mirror/">http://www.cs.princeton.edu/~bwk/btl.mirror/</a> propose un
	binaire précompilé pour Win32, <a href="http://www.cs.princeton.edu/~bwk/btl.mirror/awk95.exe">http://www.cs.princeton.edu/~bwk/btl.mirror/awk95.exe</a>, que
	vous devez enregistrer sous le nom <code>awk.exe</code> (plutôt
	que <code>awk95.exe</code>).</p>

        <div class="note">Si awk.exe n'est pas trouvé, la cible install du fichier
	Makefile.win n'effectuera aucune substitution dans les fichiers
	.conf installés. Vous devez modifier manuellement les fichiers
	.conf installés afin de permettre au serveur de démarrer.
	Recherchez et remplacez toutes les balises "@token@" par une
	valeur appropriée.</div>

        <div class="note">L'IDE Visual Studio ne trouvera le chemin de
	<code>awk.exe</code> que dans la variable PATH, ou dans le
	chemin des exécutables spécifié par l'option de menu Tools -&gt;
	Options -&gt; (Projects -&gt;) Directories. Assurez-vous
	qu'awk.exe est bien dans votre chemin système.</div>

        <div class="note">Notez aussi, si vous utilisez les outils Cygwin (<a href="http://www.cygwin.com/">http://www.cygwin.com/</a>), que
	l'utilitaire awk de nomme <code>gawk.exe</code> et que le
	fichier <code>awk.exe</code> est en fait un lien symbolique vers
	le fichier <code>gawk.exe</code>. Le shell de commandes Windows
	ne reconnaît pas les liens symboliques, et par conséquent la
	compilation d'InstallBin échouera. Pour contourner le problème,
	vous pouvez supprimer le lien <code>awk.exe</code> de
	l'installation de Cygwin, et copier <code>gawk.exe</code> vers
	<code>awk.exe</code>. Notez aussi que les portages cygwin/mingw
	de gawk 3.0.x étaient bogués ; veuillez par conséquent effectuer
	une mise à jour vers la	version 3.1.x avant l'utilisation de
	tout portage de gawk.</div>
      </li>

      <li>
        <p>[Optionnel] bibliothèque zlib (pour le module
	<code class="module"><a href="../mod/mod_deflate.html">mod_deflate</a></code>)</p>

        <p>Zlib doit être installée dans un sous-répertoire du
	répertoire <code>srclib</code> et nommé <code>zlib</code>. Elle
	doit être compilée directement à cette place. Zlib est
	disponible à l'adresse <a href="http://www.zlib.net/">http://www.zlib.net/</a> -- le
	fonctionnement correct du module <code class="module"><a href="../mod/mod_deflate.html">mod_deflate</a></code> a
	été vérifié avec la version 1.2.3.</p>

        <div class="example"><p><code>
          nmake -f win32\Makefile.msc<br />
          nmake -f win32\Makefile.msc test
        </code></p></div>
      </li>

      <li>
        <p>[Optionnel] Bibliothèques OpenSSL (pour le module
	<code class="module"><a href="../mod/mod_ssl.html">mod_ssl</a></code> et <code>ab.exe</code> avec le support
	ssl)</p>

	<div class="note">La bibliothèque OpenSSL est un logiciel de chiffrement. Le
	pays dans lequel vous résidez peut imposer des restrictions à
	l'importation, la possession, l'utilisation, et/ou la
	réexportation vers un autre pays des logiciels de chiffrement.
	AVANT d'utiliser tout logiciel de chiffrement, veuillez
	consulter la législation de votre pays, les règles et politiques
	d'importation, de possession, ou d'utilisation, et de
	réexportation des logiciels de chiffrement, afin de déterminer
	si vous en avez le droit. Voir <a href="http://www.wassenaar.org/">http://www.wassenaar.org/</a>
	pour plus de détails.</div>

        <p>La configuration et la compilation d'OpenSSL nécessite
	l'installation de perl.</p>

        <p>Pour pouvoir compiler <code class="module"><a href="../mod/mod_ssl.html">mod_ssl</a></code> ou le projet
	<code>abs.exe</code>, qui devient ab.c avec le support SSL
	activé, vous devez
	télécharger OpenSSL à l'adresse <a href="http://www.openssl.org/source/">http://www.openssl.org/source/</a>,
	et l'installer dans un sous-répertoire du répertoire
	<code>srclib</code> que vous nommerez <code>openssl</code>. Afin
	de préparer OpenSSL à la liaison avec le module Apache mod_ssl
	ou abs.exe, et désactiver les fonctionnalités d'Openssl grévées
	de brevets, vous pouvez utiliser la commande de compilation
	suivante :</p>

        <div class="example"><p><code>
          perl Configure no-rc5 no-idea enable-mdc2 enable-zlib VC-WIN32
               -Ipath/to/srclib/zlib -Lpath/to/srclib/zlib<br />
          ms\do_masm.bat<br />
          nmake -f ms\ntdll.mak
        </code></p></div>

        <div class="note">Il est déconseillé d'utiliser zlib-dynamic, car la charge
	de la décompression des flux SSL est alors transférée à la
	première requête qui doit charger la dll zlib. Notez que le
	correctif proposé active le drapeau -L afin de pouvoir
	fonctionner avec les compilations Windows, corrige le nom de
	zdll.lib et s'assure que les fichiers .pdb sont générés afin de
	pouvoir résoudre les problèmes. Si l'assembleur n'est pas
	installé, vous devez ajouter no-asm ci-dessus et utiliser le
	script ms\do_ms.bat à la place de ms\do_masm.bat.</div>
      </li>

      <li>
        <p>[Optionnel] Bibliothèques de bases de données (pour
<code class="module"><a href="../mod/mod_dbd.html">mod_dbd</a></code> et <code class="module"><a href="../mod/mod_authn_dbm.html">mod_authn_dbm</a></code>)</p>

        <p>La bibliothèque apr-util fournit un accès aux fonctionnalités
	clients dbm (base de données à base de clés) et dbd (base de
	données à base de requêtes) au serveur httpd et à certains de
	ses modules, comme les modules d'authentification et
	d'autorisation. Les fournisseurs sdbm dbm et odbc dbd sont
	compilés automatiquement.</p>

        <p>Le support dbd inclut le paquet instantclient Oracle, MySQL,
	PostgreSQL et sqlite. Par exemple, pour les compiler tous,
	définissez LIB de façon à inclure le chemin des bibliothèques,
	INCLUDE de façon à inclure le chemin des en-têtes, et PATH de
	façon à inclure le chemin des dll et bin de chacun des quatre
	SDK, et définissez la variable d'environnement DBD_LIST de façon
	à indiquer au processus de compilation quels SDKs pilotes
	clients du sont correctement installés ; par exemple :</p>

        <div class="example"><p><code>
          set DBD_LIST=sqlite3 pgsql oracle mysql
        </code></p></div>

        <p>De manière similaire, le support dbm peut être étendu avec
	DBM_LIST pour compiler un fournisseur Berkeley DB (db) et/ou un
	fournisseur gdbm, en configurant tout d'abord de la même manière
	LIB, INCLUDE et PATH afin de s'assurer que les bibliothèques et
	en-têtes de la bibliothèque client sont bien disponibles.</p>

        <div class="example"><p><code>
          set DBM_LIST=db gdbm
        </code></p></div>

        <div class="note">En fonction du choix des distributions de bases de
	données, il peut s'avérer nécessaire de modifier le nom des
	cibles de l'édition de liens (par exemple gdbm.lib à la place de
	libgdb.lib) listées dans les fichiers .dsp/.mak des répertoires
	srclib\apr-util\dbd ou ...\dbm correspondants.</div>

        <p>Voir le fichier README-win32.txt pour plus d'informations à
	propos de l'obtention des différents SDKs pilotes de bases de
	données.</p>
      </li>

    </ul>

  </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="section">
<h2><a name="unixsrcbuild" id="unixsrcbuild">Compilation à partir des sources Unix</a></h2>

    

    <p>Le projet du serveur HTTP Apache à pour politique de ne fournir
    que des sources de type Unix. Les paquets source de type Windows
    disponibles en téléchargement ont été élaborés par des
    contributeurs, et ne seront pas forcément reconduits pour toutes les
    versions. Vous pouvez cependant compiler le serveur sous Windows à
    partir des sources Unix en ajoutant quelques étapes supplémentaires.</p>

    <ol>
    	<li>Téléchargez et ouvrez le tarball source Unix de la dernière
	version du serveur HTTP Apache.</li>
    	<li>Téléchargez et ouvrez le tarball source Unix de la dernière
	version de APR, APR-Util et APR-Iconv, et copier l'arborescence
	obtenue dans httpd-2.x.x\srclib\apr, httpd-2.x.x\srclib\apr-util
	et httpd-2.x.x\srclib\apr-iconv</li>
    	<li>Ouvrez la console et placez-vous au niveau du répertoire httpd-2.x.x</li>
    	<li>Exécutez l'utilitaire de conversion de fins de ligne</li>
    </ol>

    <div class="example"><p><code>
      perl srclib\apr\build\lineends.pl
    </code></p></div>

    <p>Vous pouvez maintenant compiler le serveur via l'environnement de
    développement Visual Studio en utilisant l'IDE. Les compilations
    du serveur en ligne de commande ne sont possibles avec des sources
    de type Unix que si vous exportez les fichiers .mak comme indiqué
    ci-dessous.
    </p>

  </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="section">
<h2><a name="commandbuild" id="commandbuild">Compilation à partir de la ligne de commandes</a></h2>

    

    <p><code>Makefile.win</code> est le makefile principal ou racine
    d'Apache. Pour compiler Apache sous Windows, utilisez simplement une
    des commandes suivantes pour compiler la version
    <code>release</code> ou <code>debug</code> :</p>

    <div class="example"><p><code>
      nmake /f Makefile.win _apacher<br /><br />
      nmake /f Makefile.win _apached
    </code></p></div>


    <p>Ces deux commandes effectuent la compilation d'Apache. Cependant,
    avec la deuxième, les fichiers résultants ne seront pas optimisés,
    ce qui va faciliter l'examen pas à pas du code pour trouver des
    bogues et résoudre les problèmes.</p>

    <p>Vous pouvez indiquer vos choix en matière de fournisseurs dbd et
    dbm à l'aide des variables (d'environnement) additionnelles de make
    DBD_LIST et DBM_LIST ; voir les commentaires à propos des
    [Optionnel] Bibliothèques de bases de données ci-dessus. Consultez
    les commentaires initiaux dans Makefile.win pour plus d'options
    pouvant être fournies lors de la compilation.</p>

  </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="section">
<h2><a name="workspacebuild" id="workspacebuild">Compilation depuis l'espace de travail IDE de Developer
    Studio</a></h2>

    

    <p>Apache peut aussi être compilé depuis l'environnement de
    développement Visual Studio de VC++. Pour simplifier ce processus,
    l'espace de travail Visual Studio <code>Apache.dsw</code> est
    fourni. Cet espace de travail expose la liste complète des projets
    <code>.dsp</code> actifs nécessaires à l'installation binaire
    complète d'Apache. Il inclut les dépendances entre projets afin que
    ces derniers soient compilés selon l'ordre approprié.</p>

    <p>Ouvrez l'espace de travail <code>Apache.dsw</code>, et
    sélectionnez <code>InstallBin</code> (compilation
    <code>Release</code> ou <code>Debug</code>, selon vos souhaits)
    comme Active Project. <code>InstallBin</code> provoque la
    compilation de tous les projets concernés, puis invoque
    <code>Makefile.win</code> pour installer les exécutables et dlls
    compilés. Vous pouvez modifier la valeur de <code>INSTDIR=</code>
    via la configuration de <code>InstallBin</code>, onglet Général,
    entrée ligne de commandes de compilation. La valeur par défaut de
    <code>INSTDIR</code> est le répertoire <code>/Apache2</code>. Si
    vous désirez effectuer un test de compilation (sans installation),
    sélectionnez le projet <code>BuildBin</code>.</p>

    <p>Les fichiers projets <code>.dsp</code> sont distribués au format
    Visual Studio 6.0 (98). Visual C++ 5.0 (97) les reconnaît. Les
    utilisateurs de Visual Studio 2002 (.NET) et versions supérieures
    doivent convertir <code>Apache.dsw</code> et les fichiers
    <code>.dsp</code> en un projet <code>Apache.sln</code>, ainsi que
    les fichiers <code>.msproj</code> ; assurez-vous de reconvertir le
    fichier <code>.msproj</code> si l'un des fichiers source
    <code>.dsp</code> est modifié ! Cette opération est vraiment très
    simple, il suffit de réouvrir <code>Apache.dsw</code> dans l'IDE
    VC++ 7.0 et de le reconvertir.</p>

    
    <div class="note">Il y a une erreur dans la conversion .vcproj des fichiers
    .dsp. devenv.exe interprète mal le drapeau
    /D pour les drapeaux RC contenant de grandes /D'éfinitions entourées
    de guillemets, et contenant elles-mêmes des espaces. Ainsi, la
    commande :
    <div class="example"><p><code>
      perl srclib\apr\build\cvtdsp.pl -2005
    </code></p></div>
    va convertir les drapeaux /D pour les drapeaux RC afin d'utiliser
    une syntaxe alternative, interprétable ; malheureusement, cette
    syntaxe n'est pas supportée par Visual Studio 97 ou ses fichiers
    .mak exportés. Ces drapeaux /D permettent de transmettre la longue
    description des fichiers de mod_apachemodule.so à leurs compilations
    d'identificateur de version de ressource .rc partagée.</div>

    
	<div class="note"><strong>Compilation avec OpenSSL versions 1.1.0 et supérieures</strong>
    Suite à une modification de la structure de compilation d'OpenSSL à partir
    de la version 1.1.0, vous devez convertir les fichiers dsp concernés via la
    commance cvtdsp.pl fournie par APR versions 1.6 et supérieures :
    <div class="example"><p><code>
      perl srclib\apr\build\cvtdsp.pl -ossl11
    </code></p></div>
	</div>

    
    <p>Les utilisateurs de Visual Studio 2002 (.NET) et versions
    supérieures doivent aussi utiliser
    la boîte de dialogue Configuration Manager du menu Build pour
    décocher les deux versions <code>Debug</code> et
    <code>Release</code> des modules <code class="module"><a href="../mod/mod_ssl.html">mod_ssl</a></code>
    et <code class="module"><a href="../mod/mod_deflate.html">mod_deflate</a></code> pour <code>abs</code>. Ces modules
    sont compilés
    en invoquant <code>nmake</code> ou directement l'IDE avec la cible
    <code>BinBuild</code> pour compiler ces modules de manière
    conditionnelle si les sous-répertoires de <code>srclib</code>
    <code>openssl</code> et/ou <code>zlib</code> existent, et en
    fonction des définitions des variables d'environnement
    <code>DBD_LIST</code> et <code>DBM_LIST</code>.</p>

    </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="section">
<h2><a name="exportingmakfiles" id="exportingmakfiles">Export des fichiers .mak de la ligne de commandes</a></h2>

    


    <p>Les fichiers <code>.mak</code> exportés posent plus de problèmes,
    mais les utilisateurs de Visual C++ 5.0 en ont besoin pour compiler
    <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> avec support
    SSL) et/ou <code class="module"><a href="../mod/mod_deflate.html">mod_deflate</a></code>. Les fichiers .mak
    supportent aussi un choix plus large de distributions de chaînes
    d'outils C++, comme Visual Studio Express.</p>

    <p>Vous devez tout d'abord compiler tous les projets afin de créer
    toutes les cibles dynamiques auto-générées, de façon à ce que les
    dépendances puissent être interprétées correctement. Compilez
    l'ensemble du projet depuis l'IDE Visual Studio 6.0 (98), en
    utilisant la cible <code>BuildAll</code>, puis utilisez le menu de
    projet Export pour tous les makefiles (en cochant "with
    dependencies"). Utilisez la commande suivante pour transformer les
    chemins absolus en chemins relatifs de façon à ce que la compilation
    puisse s'effectuer depuis n'importe quelle position dans
    l'arborescence :</p>

    <div class="example"><p><code>
      perl srclib\apr\build\fixwin32mak.pl
    </code></p></div>

    <p>Vous devez exécuter cette commande depuis la <em>racine</em> de
    l'arborescence des sources de httpd. Tout fichier projet
    <code>.mak</code> et <code>.dep</code> du répertoire courant et de
    ses sous-répertoires sera corrigé, et les repères de temps ajustés
    en fonction des <code>.dsp</code>.</p>

    <p>Vérifiez toujours le SDK de la plate-forme ou autres chemins
    fichiers locaux, spécifiques à la machine dans les fichiers
    <code>.mak</code> et <code>.dep</code> générés. Le répertoire
    <code>DevStudio\Common\MSDev98\bin\</code> (VC6) contient un fichier
    <code>sysincl.dat</code> qui énumère toutes les exceptions. Mettez à
    jour ce fichier (en particulier les chemins avec slashes et
    anti-slashes, tels que <code>sys/time.h</code> et
    <code>sys\time.h</code>) de façon à ignorer ces nouvelles
    dépendances. Inclure les chemins d'installation locale dans un
    fichier <code>.mak</code> distribué fera échouer la
    compilation.</p>

    <p>Si vous soumettez un patch qui modifie les fichiers projet, nous
    devons valider la modification de ces fichiers projet au format
    Visual Studio 6.0. Les modifications doivent êtres simples, avec un
    minimum de drapeaux de compilation et d'édition de liens qui
    pourront être reconnus par tous les environnements Visual
    Studio.</p>

  </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="section">
<h2><a name="installation" id="installation">Installation</a></h2>


    

    <p>Une fois compilé, Apache doit être installé dans le répertoire
    racine du serveur. La valeur par défaut est le répertoire
    <code>\Apache2</code>, sur le même disque.</p>

    <p>Pour compiler et installer automatiquement tous les fichiers dans
    le répertoire <em>rep</em> désiré, utilisez une des commandes
    <code>nmake</code> suivantes :</p>

    <div class="example"><p><code>
      nmake /f Makefile.win installr INSTDIR=<em>dir</em><br />
      nmake /f Makefile.win installd INSTDIR=<em>dir</em>
    </code></p></div>

    <p>L'argument <em>rep</em> de <code>INSTDIR</code> permet de
    spécifier le répertoire d'installation ; il peut être omis si Apache
    doit être installé dans <code>\Apache22</code> (du lecteur de disque
    courant.</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-warn" id="projectcomponents-warn">Avertissement à propos de la compilation d'Apache à partir de
l'arborescence de développement</a></h2>



	<div class="note">Notez que seuls les fichiers <code>.dsp</code> sont
	maintenus d'une distribution <code>release</code> à l'autre. Les
	fichiers <code>.mak</code> ne sont PAS régénérés, suite à
	l'énorme perte de temps des relecteurs . Vous ne
	pouvez donc pas utiliser les commandes <code>NMAKE</code>
	ci-dessus pour compiler des fichiers de projet <code>.dsp</code>
	révisés si vous n'exporter pas ensuite vous-même tous les
	fichiers <code>.mak</code> du projet. Ceci n'est pas nécessaire
	si vous effectuez la compilation depuis l'environnement
	Microsoft Developer Studio.</div>

</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="section">
<h2><a name="cmake" id="cmake">Compilation de httpd avec cmake</a></h2>
  

  <p>La documentation principale pour ce mécanisme de compilation se trouve
  dans le fichier <code>README.cmake</code> situé dans l'arborescence
  des sources. Consultez ce fichier pour des instructions détaillées.</p>

  <p>Pour compiler httpd avec cmake, vous devez compiler APR et APR-util
  séparément. Consultez les fichiers <code>README.cmake</code> de ces
  projets pour obtenir des instructions.</p>

  <p>Les principales limitations de la compilation basée sur cmake sont
  héritées du projet APR-util et sont énumérées ci-dessous à cause de
  leur impact sur httpd :</p>

  <ul>
    <li>Il n'est pas possible de compiler le projet APR-iconv avec
    cmake, et la compilation de APR-util ne peut pas utiliser de projet
    APR-iconv précompilé. A cause de cela, il n'est pas possible
    d'utiliser <code class="module"><a href="../mod/mod_charset_lite.html">mod_charset_lite</a></code> et probablement
    d'autres modules tiers.</li>
    <li>La compilation du sous-projet APR-util avec cmake ne supporte
    pas la plupart des bibliothèques optionnelles DBM et DBD utilisées
    par les fichiers projet Visual Studio inclus. Cela limite les
    serveurs de bases de données d'arrière-plan supportés par de
    nombreux modules tiers ou inclus.</li>
  </ul>

  </div></div>
<div class="bottomlang">
<p><span>Langues Disponibles: </span><a href="../en/platform/win_compiling.html" hreflang="en" rel="alternate" title="English">&nbsp;en&nbsp;</a> |
<a href="../fr/platform/win_compiling.html" title="Français">&nbsp;fr&nbsp;</a> |
<a href="../ko/platform/win_compiling.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a></p>
</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Commentaires</a></h2><div class="warning"><strong>Notice:</strong><br />This is not a Q&amp;A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed again by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Freenode, or sent to our <a href="http://httpd.apache.org/lists.html">mailing lists</a>.</div>
<script type="text/javascript"><!--//--><![CDATA[//><!--
var comments_shortname = 'httpd';
var comments_identifier = 'http://httpd.apache.org/docs/2.4/platform/win_compiling.html';
(function(w, d) {
    if (w.location.hostname.toLowerCase() == "httpd.apache.org") {
        d.write('<div id="comments_thread"><\/div>');
        var s = d.createElement('script');
        s.type = 'text/javascript';
        s.async = true;
        s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier;
        (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s);
    }
    else { 
        d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>');
    }
})(window, document);
//--><!]]></script></div><div id="footer">
<p class="apache">Copyright 2017 The Apache Software Foundation.<br />Autorisé sous <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="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!--
if (typeof(prettyPrint) !== 'undefined') {
    prettyPrint();
}
//--><!]]></script>
</body></html>