Hat jemand erfolgreich Freetype mit MinGW / MSYS kompiliert?

9

Ich versuche nicht, Freetype mit MinGW / MSYS zu kompilieren

Folgendes mache ich:

Von cmd.exe wechsele ich in MSYS :

%Vor%

Und dann rufe das Skript configure

auf %Vor%

Nachdem ich Freetype konfiguriert habe, möchte ich make verwenden, um die Quellen zu kompilieren:

%Vor%

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:

  • ./ builds / unix / aclocal.m4
  • ./ builds / unix / configure
  • ./ builds / unix / unix-def.in
  • ./ builds / unix / unix-def.mk
  • ./ patches / freetype-2.3.4.diff
  • ./ patches / freetype-2.3.5 / builds / unix / unix-def.mk
  • ./ patches / freetype-2.3.5.diff

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

entfernen %Vor%

in builds/unix/unix-def.mk und dann ändern Sie die Zeilenlesung

%Vor%

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?

    
René Nyffenegger 13.02.2011, 22:30
quelle

1 Antwort

4

Im Allgemeinen kann das Kompilieren von Unix / Linux-Software unter Windows auf zwei Arten erfolgen:

  1. Verwenden Sie die vorhandenen Konfigurationsskripte von MSYS oder Cygwin.

  2. 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:

  1. Ü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.

  2. 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.

    
rubenvb 14.02.2011, 21:36
quelle