Construire nginx sous Windows 7 avec MSYS

J’ai Windows 7 Pro x86 avec Visual Studio 2010 Pro. J’ai aussi MinGW dans c: \ MinGW. Je veux construire nginx sous Windows en utilisant Visual C ++. Je suis ce guide.

  1. Je lance cmd sous Administrator, puis j’appelle “c: \ Program Files \ Microsoft Visual Studio 10.0 \ VC \ vcvarsall.bat”
  2. En cmd je lance C: \ MinGW \ msys \ 1.0 \ msys.bat
  3. Je cd pour nginx source direcotry et exécuter le script de configuration, avant de télécharger les prérequirejs.
  4. Puis je lance nmake -f objs / Makefile

Le résultat est l’erreur suivante:

Microsoft (R) Program Maintenance Utility Version 10.00.40219.01 Copyright (C) Microsoft Corporation. All rights reserved. 'install' is up-to-date cl -O2 -W4 -WX -nologo -MT -Zi -DFD_SETSIZE=1024 -DNO_SYS_TYPES_H -Ycng x_config.h -Fpobjs/ngx_config.pch -c -I src/core-I src/event -I src/event/mod ules -I src/os/win32 -I objs/lib/pcre-8.32 -I objs/lib/openssl/openssl/include -I objs/lib/zlib-1.2.7 -I objs -I src/http -I src/http/modules -I src/mail -Foobjs/ngx_pch.obj objs/ngx_pch.c ngx_pch.c cl -c -O2 -W4 -WX -nologo -MT -Zi -DFD_SETSIZE=1024 -DNO_SYS_TYPES_H -Y ungx_config.h -Fpobjs/ngx_config.pch -I src/core-I src/event -I src/event/mod ules -I src/os/win32 -I objs/lib/pcre-8.32 -I objs/lib/openssl/openssl/include -I objs/lib/zlib-1.2.7 -I objs -I src/http -I src/http/modules -I src/mail -Foobjs/src/core/nginx.obj src/core/nginx.c nginx.c c:\nginx\source\src\event\ngx_event_openssl.h(15) : fatal error C1083: Cannot open include file: 'openssl/ssl.h': No such file or directory NMAKE : fatal error U1077: '"c:\Program Files\Microsoft Visual Studio 10.0\VC\BI N\cl.EXE"' : return code '0x2' Stop. 

Mais OpenSSL se trouve dans C: \ nginx \ source \ objs \ lib \ openssl

Qu’ai-je fait de mal?

J’ai eu exactement le même problème.

Le problème est lié à la gestion eol (fin des lignes) de certains fichiers avec la version Perl utilisée. Vous ne devez pas utiliser la version MSYS Perl. Au lieu de cela, vous devez utiliser ActivePerl ou StrawberryPerl, comme indiqué dans le guide . Assurez-vous cependant que PATH pointe vers la dissortingbution Perl appropriée, avant Perl MSYS.

 export PATH=/appropriate/perl/dist:$PATH 

Cette réponse m’a aidé à résoudre le problème.