- 22 Tháng 7, 2010 12:00 AM
- Phần mềm
Tôi tình cờ một lưu ý nhỏ để biên dịch Jpegoptim.
- Giải nén các vị trí jpegoptim-1.2.3 theo msys / src /
- Bắt đầu msys, nhập vào lệnh sau:
$ cd /src/jpegoptim-1.2.3/ $ autoconf $ configure - cấu hình không vượt qua, các lỗi sau đây đi ra
configure: error: cannot find install-sh, install.sh, or shtool in aux "."/aux - được sửa đổi như sau 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 - Tạo một thư mục phụ, mang lại từ vị trí thích hợp như cài đặt-sh (Trong ví dụ từ Jpeglib)
$ mkdir sub $ cp ../jpeg-6bx/install-sh ../jpeg-6bx/config.sub ../jpeg-6bx/config.guess ./sub - Một lần nữa, để tạo ra một tập tin cấu hình, chạy cấu hình
$ autoconf $ configure - Nếu bạn cấu hình thông qua, bạn chạy làm cho. Sau đó nhận được các lỗi sau đây:
jpegoptim.c:354: undefined reference to 'realpath' jpegoptim.c:354: undefined reference to 'realpath' - được sửa đổi như sau 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: - Một lần nữa, biên soạn được thông qua trong thực hiện.
nó, mặc dù nó được thư mục có tên aux kịch bản phụ trợ như install-sh nó là một di tích của hệ thống mỗi BSD,
Bạn không thể tạo ra một thư mục có tên aux thư mục đặc biệt trong những tàn tích của DOS trong Windows.
Vì vậy, chúng tôi lưu trữ một số loại kịch bản phụ trợ để thay đổi các tài liệu tham khảo "phụ", bạn có thể tạo ra một "phụ" thư mục mới, được bao gồm trong phần mềm hệ thống GNU.
Ngoài ra, getuid realpath và đó là lỗi tại thời gian biên dịch là một chức năng của hệ thống POSIX
Đã được xóa hoặc thay thế với một hoạt động tương tự hoặc bởi vì Windows không tồn tại.
Tôi đã viết lại nó đẹp hơn trong ví dụ của chúng ta tốt hơn, nhưng thay thế các realpath để vượt qua _fullpath biên soạn
Bình luận: 0
Trackbacks: 0
- Trackback URL cho bài viết này
- http://mwlab.net/2010/07/jpegopitm-mingw.html/trackback
- Trackback nguồn danh sách
- Biên dịch với MinGW Jpegopitm - MoonWing hơn










