- 22. Juli 2010 um 12:00 Uhr
- Software
Ich stolperte eine kleine Notiz, die jpegoptim kompilieren.
- Entpacken Sie die Platzierung jpegoptim-1.2.3 unter msys / src /
- Starten Sie msys, geben Sie die folgenden Befehle:
$ cd /src/jpegoptim-1.2.3/ $ autoconf $ configure - konfigurieren nicht besteht, kommen die folgende Fehlermeldung aus
configure: error: cannot find install-sh, install.sh, or shtool in aux "."/aux - wie folgt geändert werden configure.in
@@ -3,7 +3,7 @@ dnl Process this file with autoconf to produce a configure script. AC_INIT(jpegoptim.c) AC_CONFIG_HEADER(config.h) -AC_CONFIG_AUX_DIR(aux) +AC_CONFIG_AUX_DIR(sub) AC_CANONICAL_HOST - Erstellen Sie ein Unterverzeichnis, von der entsprechenden Stelle wie zB install-sh bringen (In dem Beispiel aus jpeglib)
$ mkdir sub $ cp ../jpeg-6bx/install-sh ../jpeg-6bx/config.sub ../jpeg-6bx/config.guess ./sub - Wieder auf ein configure-Datei zu generieren, führen Sie das configure
$ autoconf $ configure - Wenn Sie durch zu konfigurieren, führen Sie das machen. Erhalten Sie dann die folgenden Fehler:
jpegoptim.c:354: undefined reference to 'realpath' jpegoptim.c:354: undefined reference to 'realpath' - die wie folgt modifiziert werden jpegoptim.c
@@ -351,7 +351,11 @@ } break; case 'd': - if (realpath(optarg,dest_path)==NULL || !is_directory(dest_path)) { +#ifdef WIN32 + if (_fullpath(dest_path,optarg,MAXPATHLEN)==NULL || !is_directory(dest_path)) { +#else + if (realpath(optarg,dest_path)==NULL || !is_directory(dest_path)) { +#endif fatal("invalid argument for option -d, --dest"); } if (verbose_mode) @@ -441,8 +445,13 @@ fatal("splitdir() failed!"); strncpy(newname,argv[i],sizeof(newname)); } - snprintf(tmpfilename,sizeof(tmpfilename), +#ifdef WIN32 + snprintf(tmpfilename,sizeof(tmpfilename), + "%sjpegoptim-%d.tmp", tmpdir, (int)getpid()); +#else + snprintf(tmpfilename,sizeof(tmpfilename), "%sjpegoptim-%d-%d.tmp", tmpdir, (int)getuid(), (int)getpid()); +#endif } retry_point: - Auch hier ist die Zusammenstellung in der vergangen machen.
es, obwohl es Ordner mit dem Namen aux Hilfs-Skripte wie zB install-sh ist es ein Relikt aus dem System jeder BSD,
Sie können nicht einen Ordner namens aux speziellen Ordner in den Überresten der DOS in Windows.
Deshalb haben wir einige Arten Hilfs-Skript zu speichern, um die "sub" Verweise zu ändern, können Sie eine "sub" neuen Ordner, der in der Software-System GNU enthalten ist.
Darüber hinaus war getuid realpath und das in Fehler bei der Kompilierung ist eine Funktion des POSIX-System
Wurde gelöscht oder mit einer, die die gleiche oder arbeitet daran, dass Windows nicht existiert ersetzt.
Ich hatte besser umschreiben es schöner in unserem Beispiel aber ersetzt die realpath um die Zusammenstellung _fullpath passieren
Kommentare: 0
Trackbacks: 0
- TrackBack-URL für diesen Artikel
- http://mwlab.net/2010/07/jpegopitm-mingw.html/trackback
- TrackBack-Source-Liste
- Zusammengestellt mit MinGW die Jpegopitm - MoonWing als










