- 22 lug 2010 12:00 AM
- Software
Mi sono imbattuto una piccola nota per compilare il jpegoptim.
- Decomprimere il posizionamento jpegoptim-1.2.3 in msys / src /
- Avviare MSYS, immettere i seguenti comandi:
$ cd /src/jpegoptim-1.2.3/ $ autoconf $ configure - configurare non passa, il seguente errore uscire
configure: error: cannot find install-sh, install.sh, or shtool in aux "."/aux - essere modificato come segue 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 - Creare una cartella secondaria, portare dal luogo appropriato, ad esempio install-sh (nell'esempio da Jpeglib)
$ mkdir sub $ cp ../jpeg-6bx/install-sh ../jpeg-6bx/config.sub ../jpeg-6bx/config.guess ./sub - Ancora una volta, di generare un file configure, eseguire il configure
$ autoconf $ configure - Se si configura attraverso, si esegue il make. Poi ottenere i seguenti errori:
jpegoptim.c:354: undefined reference to 'realpath' jpegoptim.c:354: undefined reference to 'realpath' - essere modificato come segue 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: - Ancora una volta, la compilazione viene passato nel fare.
esso, anche se è cartella denominata aux scripts ausiliari come install-sh è una reliquia del sistema ogni BSD,
Non è possibile creare una cartella denominata cartella aux speciale i resti di DOS in Windows.
Pertanto, memorizzare alcuni tipi di script ausiliari per cambiare le "Sub" riferimenti, è possibile creare una cartella "sub" nuova, che è incluso nel software di sistema GNU.
Inoltre, getuid realpath e che era in errore in fase di compilazione è una funzione del sistema POSIX
È stato eliminato o sostituito con uno che funziona lo stesso o perché Windows non esiste.
Ho avuto meglio riscriverlo più bello nel nostro esempio, ma ha sostituito il realpath per passare il _fullpath compilation
Commenti: 0
Trackback: 0
- TrackBack URL per questo articolo
- http://mwlab.net/2010/07/jpegopitm-mingw.html/trackback
- Fonte list TrackBack
- Compilato con MinGW la Jpegopitm - MoonWing di










