ฉันกำลังติดตั้งคอมไพเลอร์ Cygwin และ GNU C ด้วยความช่วยเหลือของบทช่วยสอน วิธีการติดตั้ง GCC ล่าสุดบน Windows
ฉันทำตามขั้นตอนต่อไปนี้เรียบร้อยแล้ว
- ติดตั้ง Cygwin
- ติดตั้งแพคเกจ Cygwin ที่จำเป็น
ขั้นตอนที่ 3 คือ "ดาวน์โหลดสร้างและติดตั้ง GCC ล่าสุด"
ฉันติดเมื่อฉันเรียกใช้ make -j4
คำสั่งที่มีข้อผิดพลาดต่อไปนี้ใน Cygwin Terminal
.
$ make -j4 make[1]: Entering directory '/home/Prasanna Rajaram/build-gcc-6.1.0' Configuring in ./intl Configuring in ./libiberty Configuring in ./lto-plugin /bin/sh: /home/Prasanna: No such file or directory Makefile:7416: recipe for target 'configure-libiberty' failed make[1]: *** [configure-libiberty] Error 1 make[1]: *** Waiting for unfinished jobs.... Configuring in ./fixincludes /bin/sh: /home/Prasanna: No such file or directory Makefile:5330: recipe for target 'configure-intl' failed make[1]: *** [configure-intl] Error 1 /bin/sh: /home/Prasanna: No such file or directory Makefile:9308: recipe for target 'configure-lto-plugin' failed make[1]: *** [configure-lto-plugin] Error 1 /bin/sh: /home/Prasanna: No such file or directory Makefile:3470: recipe for target 'configure-fixincludes' failed make[1]: *** [configure-fixincludes] Error 1 make[1]: Leaving directory '/home/Prasanna Rajaram/build-gcc-6.1.0' Makefile:879: recipe for target 'all' failed make: *** [all] Error 2
ฉันเดาด้วยว่ามันผิดตรงไหน ในเส้นทางไดเรกทอรีบ้านของฉัน '/home/Prasanna Rajaram/
มีช่องว่างระหว่างชื่อและนามสกุลของฉัน ฉันไม่รู้ว่า Windows 10 สร้างชื่อโฟลเดอร์แบบนั้นได้อย่างไร C:\Users
ไดเรกทอรี
ฉันจะเอาชนะปัญหานี้ได้อย่างไร ฉันลังเลที่จะเปลี่ยนชื่อไดเรกทอรีผู้ใช้เป็นหนึ่งคำ (เช่น: PrasannaRajaram
) เนื่องจากอาจส่งผลกระทบต่อโปรแกรมอื่นซึ่งอาจใช้เส้นทางนี้
นอกจากนี้ยังมีความคิดนี้ว่าเส้นทางนี้อาจใช้กับ Cygwin เท่านั้นเมื่อเริ่มต้น /home
ฉันจะทำงานนี้ได้อย่างไร
แก้ไข-1 หลังจากทำตามขั้นตอนจากคำตอบด้านล่าง
mkdir /home/prasanna mkpasswd -c > /etc/passwd sed -i -e "s/Prasanna Rajaram/prasanna/g" /etc/passwd
ผลลัพธ์ของ Cygwin จะมีลักษณะเช่นนี้:
$ make -j4 make[1]: Entering directory '/home/Prasanna Rajaram/build-gcc-6.1.0' Configuring in ./lto-plugin Configuring in ./intl Configuring in ./fixincludes /home/Prasanna: /home/Prasanna: is a directory Makefile:9308: recipe for target 'configure-lto-plugin' failed make[1]: *** [configure-lto-plugin] Error 1 make[1]: *** Waiting for unfinished jobs.... Configuring in ./libiberty /home/Prasanna: /home/Prasanna: is a directory Makefile:5330: recipe for target 'configure-intl' failed make[1]: *** [configure-intl] Error 1 /home/Prasanna: /home/Prasanna: is a directory Makefile:3470: recipe for target 'configure-fixincludes' failed make[1]: *** [configure-fixincludes] Error 1 /home/Prasanna: /home/Prasanna: is a directory Makefile:7416: recipe for target 'configure-libiberty' failed make[1]: *** [configure-libiberty] Error 1 make[1]: Leaving directory '/home/Prasanna Rajaram/build-gcc-6.1.0' Makefile:879: recipe for target 'all' failed make: *** [all] Error 2