Heim >Backend-Entwicklung >PHP-Tutorial >Behandeln von Problemen im Zusammenhang mit der Kompilierung von Nginx unter der Windows-Plattform
Inhalt [ausblenden]
Häufig gestellte Fragen
Die VS-Version, die ich verwende, ist VS2008, und ich bin darauf gestoßen die folgende Frage.
Holen Sie sich die angegebene Version
Manchmal benötigen wir nicht die neueste Version. Ich möchte beispielsweise die Version 1.20 herunterladen Zuerst habe ich hier nach der Versionsnummer 1.20 gesucht und bald festgestellt, dass sie f582d662cc408eb7a132c21f4b298b71d0701abb ist. Die folgende Ausführungssequenz kann die angegebene Version erhalten:
"stdint.h ”: Keine solche Datei oder kein solches Verzeichnis
Dieses Problem ist leicht zu lösen, laden Sie einfach die fehlende Header-Datei herunter. https://code.google.com/p/msinttypes/
Nach der Dekomprimierung platzieren Sie das Header-Dateiverzeichnis unter C:ProgrammeMicrosoft Visual Studio 9.0VCinclude (oder einem ähnlichen Verzeichnis).
"openssl/ssl.h": Keine solche Datei oder kein solches Verzeichnis
Führen Sie nmake -f objs/Makefile aus , kann dieses Problem auftreten. Wir sehen einen solchen Pfad (objs/lib/openssl-1.0.1e/openssl/include), aber er existiert tatsächlich nicht. Die Lösung besteht darin, „openssl-1.0.1e/openssl“ in „openssl-1.0.1e“ zu ändern.
Oder ändern Sie direkt die Konfiguration des generierten Makefile
Datei „objs/lib/openssl- kann nicht geöffnet werden“ 1.0.1e /lib/ssleay32.lib“
Ich weiß nicht, warum das Nginx-Projekt die OpenSSL-Bibliothek nicht generiert. Ich habe dieses Problem durch separates Kompilieren und Generieren von OpenSSL gelöst. Die Schritte sind wie folgt:
Okay, legen Sie die manuell generierten libeay32.lib und ssleay32.lib in das Verzeichnis nginx/objs/lib/openssl-1.0.1e. Problem gelöst.
Fehler C2220: Warnung als Fehler behandelt – „Objekt“-Datei wurde nicht generiert
Werden CFLAGS -WX entfernt? Feld, dann das Makefile neu generieren und neu kompilieren
Schwerwiegender Fehler C1010: Unerwartetes Ende der Datei beim Suchen nach vorkompilierten Headern festgestellt. Haben Sie vergessen, „#include“ hinzuzufügen? "ngx_config.h""?
Bei der Entwicklung von Windows-Modulen treten Probleme auf. Die erste Codezeile in jeder Quelldatei muss hinzugefügt werden. #include "ngx_config.h"*, wenn Sie dies nicht tun Ich möchte dazu die Kompilierungsparameter *-Yungx_config.h
Kompilieren
vollständig entfernen Wenn Sie diese Codezeile nmake -f objs/Makefile ausführen, muss sie jedes Mal vollständig kompiliert werden, was Zeitverschwendung ist. Der Grund dafür ist folgender.
ssh. Die .h-Datei hängt von objs/Makefile* ab, aber wenn die Änderungszeit der ersteren immer früher ist als die der letzteren, wird der folgende Befehl immer ausgeführt string *objs/Makefile 🎜>
Zusammenfassung des Vorgangsprozesses参考资料:
Windows下OpenSSL安装配置
本文由吴遥编写,转载请注明出处。
文章链接:http://www.wuyao721.com/nginx-building-windows.html
以上就介绍了windows平台下编译nginx相关问题处理,包括了方面的内容,希望对PHP教程有兴趣的朋友有所帮助。