- 22 กรกฎาคม 2010 12:00 น.
- ซอฟต์แวร์
ฉัน stumbled ทราบเล็ก ๆ น้อย ๆ เพื่อรวบรวม Jpegoptim
- เปิดเครื่องรูดตำแหน่ง jpegoptim-1.2.3 ภายใต้ msys / src /
- เริ่ม msys ป้อนคำสั่งต่อไปนี้:
$ cd /src/jpegoptim-1.2.3/ $ autoconf $ configure - กำหนดค่าไม่ผ่านข้อผิดพลาดต่อไปนี้ออกมา
configure: error: cannot find install-sh, install.sh, or shtool in aux "."/aux - ที่จะแก้ไขดังนี้ 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 - สร้างโฟลเดอร์ย่อยนำมาจากสถานที่ที่เหมาะสมเช่นการติดตั้ง-SH (ในตัวอย่างจาก Jpeglib)
$ mkdir sub $ cp ../jpeg-6bx/install-sh ../jpeg-6bx/config.sub ../jpeg-6bx/config.guess ./sub - อีกครั้งเพื่อสร้างแฟ้มการกำหนดค่าให้เรียกใช้การกำหนดค่า
$ autoconf $ configure - หากคุณกำหนดค่าผ่านทางคุณทำงานให้ จากนั้นได้รับข้อผิดพลาดต่อไปนี้:
jpegoptim.c:354: undefined reference to 'realpath' jpegoptim.c:354: undefined reference to 'realpath' - ที่จะแก้ไขดังต่อไปนี้ 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: - อีกครั้งการรวบรวมจะถูกส่งในให้
มันแม้ว่ามันจะเป็นชื่อโฟลเดอร์สคริปต์ aux เสริมเช่นการติดตั้ง-SH เป็นที่ระลึกของแต่ละระบบ BSD,
คุณไม่สามารถสร้างโฟลเดอร์ที่ชื่อว่า aux โฟลเดอร์พิเศษในเศษของ DOS ใน Windows
ดังนั้นเราจึงเก็บบางชนิดสคริปต์ที่ช่วยเสริมการเปลี่ยนลำดับที่ "ย่อย" คุณสามารถสร้าง "ย่อย" โฟลเดอร์ใหม่ซึ่งรวมอยู่ในซอฟต์แวร์ระบบ GNU
นอกจากนี้ getuid realpath และที่อยู่ในข้อผิดพลาดที่รวบรวมเวลาเป็นหน้าที่ของระบบ POSIX
ได้ถูกลบหรือถูกแทนที่ด้วยคนที่ทำงานเดียวกันหรือเพราะ Windows ไม่มีอยู่
ผมมีดีกว่าที่เขียนมันสวยงามมากขึ้นในตัวอย่างของเรา แต่แทนที่ realpath เพื่อที่จะผ่านการคอมไพล์ _fullpath
- : ใหม่ ส่วนที่ 2 รวบรวมกับ MinGW Jpegopitm
- : Old รวบรวม QEMU
ความคิดเห็น: 0
Trackbacks: 0
- TrackBack URL สำหรับบทความนี้
- http://mwlab.net/2010/07/jpegopitm-mingw.html/trackback
- รายชื่อแหล่ง TrackBack
- คอมไพล์ด้วย MinGW Jpegopitm - MoonWing กว่า










