Ich versuche nicht, Freetype mit MinGW / MSYS zu kompilieren
Folgendes mache ich:
Von cmd.exe
wechsele ich in MSYS
:
Und dann rufe das Skript configure
Nachdem ich Freetype konfiguriert habe, möchte ich make
verwenden, um die Quellen zu kompilieren:
Das Problem scheint cygpath zu sein, was seltsam ist, weil ich Cygwin nicht installiert habe.
Da die Kompilieranweisungen gnu make verlangen, habe ich folgendes verifiziert:
%Vor%Was mache ich falsch?
Bearbeiten : Es gibt auch Makefile.mingw
im Verzeichnis. Der Versuch, den Kompilierungsprozess mit make -f Makefile.mingw
zu starten, endet auch nicht und gibt die Nachricht ¨make: *** No rule to make target 'MFSED', needed by 'all'. Stop.
zurück.
Update Ok, ich habe ein paar Detektivuntersuchungen durchgeführt und es scheint, dass das Problem genau ist, weil ich CygWin nicht installiert habe. Ich habe diese Annahme, weil cygpath
ein CygWin-Dienstprogramm ist ( Siehe hier ) das konvertiert Unix-Pfade in Windows-Pfade und umgekehrt.
Nun findet ein ¨find . -type f -exec grep -l cygpath {} \;
mehrere Orte, an denen cygpath
verwendet wird:
und ich denke, ich müsste etwas an einem oder mehreren dieser Orte ändern, um den Build zu reparieren. Recht? Ich hoffe immer noch, dass jemand mit mehr Wissen über den gesamten ./configure-build-Prozess mir einen Hinweis auf das Problem geben kann.
Update II : Aus der rubenvb -Antwort dachte ich, ich könnte ./configure --build=i686-pc-mingw32
versuchen und dann die Zeile lesen
in builds/unix/unix-def.mk
und dann ändern Sie die Zeilenlesung
bis
%Vor% in ./builds/freetype.mk
und kopiere Ссылка auf c:\mingw\bin
(da es seltsame Fehler wegen der fehlende rctool.sh
) und dann starten den Kompilierungsprozess mit make
.
Nun scheint die Kompilierung der Quelldateien (zumindest teilweise) abgeschlossen zu sein, obwohl ich viele Warnungen wie
erhalten habe %Vor%Aber der Linker kann die * .o-Dateien nicht verknüpfen, weil es viele undefinierte Referenzen wie
gibt %Vor%Ich nehme an, dass die Kompilierungswarnungen nicht mit den Linkerfehlern zusammenhängen.
Also, was jetzt?
Im Allgemeinen kann das Kompilieren von Unix / Linux-Software unter Windows auf zwei Arten erfolgen:
Verwenden Sie die vorhandenen Konfigurationsskripte von MSYS oder Cygwin.
Verwenden Sie ein mitgeliefertes Mingw-Makefile von cmd.exe (der Windows-Shell).
Sie haben versucht, das erste (aber ich denke nicht hart genug), und das zweite falsch gemacht:
Übergeben Sie --host=i686-pc-mingw32
zur Konfiguration. Das Skript sagt dir, dass es einen Unix-Build entdeckt, der furchtbar falsch ist und wie du sehen kannst, funktioniert nicht.
Sie können auch mingw32-make
direkt von cmd.exe verwenden, um das gefundene makefile.mingw zu verwenden. Es sollte gut funktionieren.
Versuchen Sie, eine README- oder INSTALL-Datei im Hauptquellverzeichnis zu finden. Es sollte Ihnen sagen, was zu tun ist und hat wahrscheinlich einen Windows-spezifischen Abschnitt.