ติดตั้ง gcc บนเครื่อง windows 7 ยังไง?


119

ฉันมี MinGW ในเครื่อง windows 7 ของฉัน ฉันต้องการติดตั้งและใช้ gcc ที่สมบูรณ์สำหรับคอมไพเลอร์ C ฉันพบว่าไม่มีไฟล์ติดตั้งสำเร็จรูปที่คอมไพล์ไว้ล่วงหน้าสำหรับจุดประสงค์นี้ ฉันตรวจสอบหน้าต่อไปนี้: http://gcc.gnu.org/install/ เป็นเรื่องยากและฉันพบว่ามันอยู่เหนือระดับความเข้าใจของฉัน ใครช่วยให้คำแนะนำทีละขั้นตอนพร้อมกับลิงค์ได้ไหม

คำตอบ:


97

แก้ไขตั้งแต่ไม่นานมานี้ MinGW-w64 ได้ "ดูดซับ" หนึ่งในโครงการสร้าง toolchain ดาวน์โหลดสามารถพบได้ที่นี่ โปรแกรมติดตั้งควรใช้งานได้และอนุญาตให้คุณเลือกเวอร์ชันที่คุณต้องการ

โปรดทราบว่า Qt SDK มาพร้อมกับ toolchain เดียวกัน ดังนั้นหากคุณกำลังพัฒนาใน Qt และใช้ SDK เพียงแค่ใช้ toolchain ที่มาพร้อมกับ

อีกทางเลือกหนึ่งที่มี toolchains ที่ทันสมัยมาจาก ... harhar ... ผู้พัฒนา Microsoft ไม่ใช่ใครอื่นนอกจาก STL (Stephan T. Lavavej ไม่ใช่ชื่อเฉพาะสำหรับผู้ดูแล MSVC ++ Standard Library!) คุณสามารถค้นหาได้ที่นี่ รวมถึง Boost

อีกทางเลือกหนึ่งที่มีประโยชน์อย่างมากหากคุณดูแลการอ้างอิงที่สร้างไว้ล่วงหน้าคือMSYS2ซึ่งมีเปลือก Unix (ทางแยกของ Cygwin ที่ปรับเปลี่ยนให้ทำงานได้ดีขึ้นกับชื่อพา ธ ของ Windows และอื่น ๆ ) นอกจากนี้ยังมี GCC โดยปกติจะล่าช้าไปเล็กน้อย แต่ได้รับการชดเชยด้วยระบบการจัดการแพ็คเกจที่ดีและความเสถียร นอกจากนี้ยังมี Clang ที่ใช้งานได้พร้อม libc ++ หากคุณสนใจสิ่งนั้น

ฉันปล่อยไว้ด้านล่างเพื่อใช้อ้างอิง แต่ฉันไม่แนะนำอย่างยิ่งให้ใช้ MinGW.org เนื่องจากข้อ จำกัด ตามรายละเอียดด้านล่าง TDM-GCC (เวอร์ชัน MinGW-w64) มีแฮ็กบางอย่างที่คุณอาจพบว่ามีประโยชน์ในสถานการณ์เฉพาะของคุณแม้ว่าฉันจะแนะนำให้ใช้วานิลลา GCC ตลอดเวลาเพื่อความเข้ากันได้สูงสุด


GCC สำหรับ Windows มีให้โดยสองโครงการในปัจจุบัน ทั้งคู่มีการใช้งาน Windows SDK (ส่วนหัวและไลบรารี) ของตัวเองซึ่งจำเป็นเนื่องจาก GCC ไม่ทำงานกับไฟล์ Visual Studio

  1. mingw.org รุ่นเก่าที่ @ แมทชี้ให้คุณดูอยู่แล้ว มีเพียงคอมไพเลอร์ 32 บิต ดูที่นี่สำหรับการดาวน์โหลดที่คุณต้องการ:

    • Binutils เป็นตัวเชื่อมโยงและคอมไพเลอร์ทรัพยากรเป็นต้น
    • GCC เป็นคอมไพเลอร์และแบ่งออกเป็นแพ็กเกจหลักและภาษา
    • GDB คือดีบักเกอร์
    • ไลบรารีรันไทม์จำเป็นสำหรับ mingw.org เท่านั้น
    • คุณอาจต้องดาวน์โหลด mingw32-make แยกกัน
    • สำหรับการสนับสนุนคุณสามารถลอง (อย่าคาดหวังการตอบกลับที่เป็นมิตร) mingw-users@lists.sourceforge.net

    หรือดาวน์โหลด mingw-get แล้วใช้

  2. mingw-w64 ที่ใหม่กว่าซึ่งเป็นชื่อที่คาดการณ์นั้นยังมีตัวแปร 64 บิตและในอนาคตหวังว่าจะรองรับ ARM บางส่วน ฉันใช้มันและสร้างห่วงโซ่เครื่องมือด้วย CRT ส่วนบุคคลและรถยนต์สร้างจะพบว่าภายใต้หัวข้อ "การกำหนดเป้าหมาย toolchains Win32 / 64" ที่นี่ นอกจากนี้ยังมีคอมไพเลอร์ข้าม Linux ไปยัง Windows ฉันขอแนะนำให้คุณลองสร้างส่วนบุคคลก่อนซึ่งจะสมบูรณ์กว่า ลองของฉัน (rubenvb) สำหรับ GCC 4.6 ถึง 4.8 หรือใช้ sezero สำหรับ GCC 4.4 และ 4.5 เราทั้งคู่มี Toolchains แบบ 32 บิตและ 64 บิต แพ็คเกจเหล่านี้รวมทุกอย่างที่ระบุไว้ข้างต้น ขณะนี้ฉันขอแนะนำบิลด์ "MinGW-Builds" เนื่องจากสิ่งเหล่านี้ได้รับการอนุมัติให้เป็น "งานสร้างอย่างเป็นทางการ" และมาพร้อมกับตัวติดตั้ง (ดูด้านบน)

    สำหรับการสนับสนุนโปรดส่งอีเมลไปที่ mingw-w64-public@lists.sourceforge.net หรือโพสต์บนฟอรัมผ่าน sourceforge.net

ทั้งสองโปรเจ็กต์มีไฟล์อยู่ใน sourceforge และสิ่งที่คุณต้องทำคือเรียกใช้โปรแกรมติดตั้ง (ในกรณีของ mingw.org) หรือดาวน์โหลดแพ็กเกจซิปที่เหมาะสมและแตกไฟล์ (ในกรณีของ mingw-w64)

มีผู้สร้าง toolchain ที่ "ไม่เป็นทางการ" จำนวนมากซึ่งหนึ่งในผู้ที่ได้รับความนิยมมากที่สุดคือ TDM-GCC พวกเขาอาจใช้แพตช์ที่ทำลายความเข้ากันได้แบบไบนารีกับโซ่เครื่องมือที่เป็นทางการ / ไม่ได้แพตช์ดังนั้นโปรดใช้ความระมัดระวัง ควรใช้รุ่นที่เป็นทางการ


6
คำตอบของคุณดูเหมือนจะสมบูรณ์ แต่ฉันไม่เข้าใจทั้งหมด คำตอบของคุณเป็นเรื่องใหม่สำหรับฉัน .. ความตั้งใจของฉันคือการได้รับ gcc c compiler, linker, header files และ library files ฉันดาวน์โหลดบิลด์ส่วนตัวของคุณสำหรับ GCC 4.6 แล้ว ตอนนี้ฉันจะทำอย่างไรต่อไป? โปรดอดทนกับฉัน :-)
KawaiKx

9
@Saurabh: ไม่มีปัญหาฉันพยายามทำให้ถูกต้องในแง่ของคำพูด ตอนนี้คุณแตกแพ็กเกจเป็นตัวอย่างC:` so that C: \ mingw64 \ bin` (หรือ C: \ mingw32 \ bin ) contains gcc.exe . Then, open a cmd.exe command prompt, and execute ตั้งค่า PATH = C: \ mingw64 \ bin;% PATH% "จากนั้นคุณจะสามารถเรียก mingw32 -make, gcc, gdb และอื่น ๆ จากบรรทัดคำสั่งนั้นโปรแกรมที่ใช้ (เช่น cmake, Qt Creator, Codeblocks) ก็จำเป็นต้องใช้ใน PATH เช่นกันในกรณีที่คุณต้องการเปลี่ยน PATH ของระบบ / ผู้ใช้ทั้งระบบให้ไปที่แผงควบคุม -> ระบบ -> ขั้นสูง -> ตัวแปรสภาพแวดล้อมและเพิ่มหรือแก้ไข PATH ที่นั่น
rubenvb

1
ทำอย่างนั้น มันทำงานได้ดี ขอบคุณมาก .. ทำไมการติดตั้งคอมไพเลอร์ gcc บนเครื่อง windows จึงมีความยุ่งยากมาก เดิมทีมันไม่ได้มีไว้สำหรับแพลตฟอร์ม x86 เหรอ?
KawaiKx

4
มีนักพัฒนา 4-5 คนส่วนใหญ่ที่เกี่ยวข้องกับ GCC / binutils สำหรับ Windows พวกเขาทำงานได้ดีมาก แต่ปล่อยให้ชุมชนส่งมอบเครื่องมือของพวกเขา อย่าเข้าใจผิดที่นี่: TDM มีมานานแล้วและมีตัวติดตั้งที่สะดวก แต่เขาไม่ได้ส่งแพตช์อัปสตรีมเนื่องจากปัญหาลิขสิทธิ์ Codeblocks ให้ MinGW toolchain พร้อม IDE Qt. แต่ไม่มีตัวใดให้ 64 บิต :) การสร้าง GCC นั้นต้องใช้สภาพแวดล้อม Unix เช่น Cygwin / MSYS หรือดีกว่านั้น: Linux กระบวนการสร้างไม่ตรงไปตรงมา แต่การติดตั้งก็ไม่ยุ่งยากมากเมื่อคุณรู้ว่าต้องทำอะไร
rubenvb

1
@rubenvb ฉันสังเกตเห็นว่าตอนนี้ Mingw64 มีตัวติดตั้งที่ช่วยให้คุณสามารถเลือกสิ่งต่างๆได้ นี่เป็นความคิดที่แย่กว่าการสร้างส่วนบุคคลหรือไม่?
batbrat

26

ดาวน์โหลดmingw-getและออก:

mingw-get install gcc.

ดูหน้าเริ่มต้นใช้งาน


2
การติดตั้งนี้ไม่ได้ติดตั้งไลบรารี C มาตรฐาน gcc .. แทนที่จะใช้ msvcr *** ก. ทำไมล่ะ? เป็นเพราะไลบรารี C มาตรฐาน gcc มีรหัสออบเจ็กต์สำหรับชิปที่ไม่ใช่ x86 หรือไม่
KawaiKx

3
เนื่องจากพอร์ต MinGW ของ GCC บน windows ใช้ไลบรารี C มาตรฐานของ windows หากคุณต้องการใช้ไลบรารี C อื่นให้ดูที่ cygwin (ใช้ newlib) ไม่แน่ใจว่าคุณจะมีโชคมากที่ได้รับ GLIBC บน Windows (ฉันไม่เห็นประเด็นนี้จริงๆ)
จ้า

1
"พอร์ต MinGW ของ GCC บน windows" หมายความว่าอย่างไร ขออภัยมันอาจจะฟังดูโง่ แต่ฉันยังใหม่กับเงื่อนไขเหล่านี้ ..
KawaiKx

2
นั่นหมายถึงเวอร์ชันของ GCC ที่ผลิตโดย MinGW เพื่อทำงานบนและกำหนดเป้าหมายสภาพแวดล้อม windows
จ้า

11
  1. แตกแพ็กเกจไปที่ C: \ จากที่นี่และติดตั้ง

  2. คัดลอกเส้นทางC:\MinGW\binที่มี gcc.exe

  3. ไปที่Control Panel->System->Advanced>Environment variablesและเพิ่มหรือแก้ไขเส้นทาง (เพียงเชื่อมต่อกับ ';')

  4. จากนั้นopen a cmd.exe command prompt(Windows + R และพิมพ์ cmd หากเปิดไว้แล้วโปรดปิดและเปิดใหม่เพื่อเปลี่ยนเส้นทาง)

  5. เปลี่ยนโฟลเดอร์เป็นเส้นทางไฟล์ของคุณโดย cd D:\c code Path

  6. ประเภทgcc main.c -o helloworld.o. มันจะคอมไพล์โค้ด สำหรับC++ use g++

7 พิมพ์./helloworldเพื่อรันโปรแกรม

หาก zlib1.dll หายไปให้ดาวน์โหลดจากที่นี่


6

ติดตามคำตอบของ Mat (ใช้ Cygwin) ต่อไปนี้เป็นคำแนะนำโดยละเอียดสำหรับ: การติดตั้ง gcc บน Windows แพ็คเกจที่คุณต้องการคือ gcc, gdb และ make โปรแกรมติดตั้ง Cygwin ให้คุณติดตั้งแพ็คเกจเพิ่มเติมได้หากต้องการ


ฉันติดตั้ง Cygwin และแพ็คเกจที่จำเป็น ฉันยังตรวจสอบจากบรรทัดคำสั่งของ Windows ว่า gcc, gdb และ make สามารถเข้าถึงได้ แต่ยังคงติดตั้งรางอัญมณีล้มเหลวด้วยข้อผิดพลาดเดียวกัน! มีใครลอง Cygwin และ Rails บน Windows แล้วบ้าง?
Vishal Biyani

นอกจากนี้เมื่อฉันเรียกใช้gccพร้อมรับคำสั่งฉันถูกปฏิเสธการเข้าถึงไม่แน่ใจว่าทำไม
Vishal Biyani

3
ทุกวันนี้ฉันอาจจะใช้บางอย่างเช่น VirtualBox ของ Oracle ( virtualbox.org ) หรือ VMWare แทน Cygwin จากนั้นคุณสามารถเรียกใช้ทั้งสอง OS บนเครื่องเดียวกันได้ สำหรับ Rails คุณได้ลองใช้ Rails Installer แล้วหรือยัง? railinstaller.org
michaelok

ขอบคุณสำหรับเคล็ดลับ @michaelok จะพยายามอย่างแน่นอน
Vishal Biyani

ฉันหาไม่พบดังนั้นฉันจึงอัปเดตไปที่หน้าหลักของ Cygwin สิ่งที่ยุ่งยากเกี่ยวกับโปรแกรมติดตั้งคือการตรวจสอบให้แน่ใจว่าคุณได้เลือกแพ็คเกจที่เหมาะสม จากคำแนะนำซึ่งมีเนื้อหาเกี่ยวกับ gcc: "โดยค่าเริ่มต้น setup.exe จะติดตั้งเฉพาะแพ็คเกจในหมวดหมู่ฐานและการอ้างอิงเท่านั้นส่งผลให้มีการติดตั้ง Cygwin น้อยที่สุดอย่างไรก็ตามสิ่งนี้จะไม่รวมเครื่องมือที่ใช้กันทั่วไปมากมายเช่น เป็น gcc (ซึ่งคุณจะพบในหมวด Devel) "
michaelok

1

ฉันใช้ msysgit เพื่อติดตั้ง gcc บน Windows มันมีตัวติดตั้งที่ดีซึ่งติดตั้งทุกอย่างที่คุณอาจต้องการ devs ส่วนใหญ่ต้องการมากกว่าแค่คอมไพเลอร์เช่น shell, shell tools, make, git, svn และอื่น ๆ msysgit มาพร้อมกับทั้งหมดนั้น https://msysgit.github.io/

แก้ไข: ตอนนี้ฉันใช้ msys2 Msys2 ใช้pacmanจาก Arch Linux เพื่อติดตั้งแพ็กเกจและรวมถึงสามสภาพแวดล้อมสำหรับการสร้างแอพ msys2 แอพพื้นฐาน 32 บิตและแอพเนทีฟ 64 บิต (คุณอาจต้องการสร้างแอปแบบ 32 บิต)

https://msys2.github.io/

นอกจากนี้คุณยังสามารถใช้งานเต็มรูปแบบและติดตั้งโค้ด :: บล็อกหรือตัวแก้ไข gui อื่น ๆ ที่มาพร้อมกับคอมไพเลอร์ ฉันชอบใช้ vim และ make


msysgit ยังใช้ได้กับคุณหรือไม่? URL นั้นเปลี่ยนเส้นทางไปยังGit สำหรับ Windowsซึ่งฉันไม่เห็นการกล่าวถึง gcc ฉันโชคไม่ดีกับ Git สำหรับ Windows แต่นั่นอาจเป็นอีกเรื่องหนึ่ง นอกจากนี้ยังมีข้อความ "msysGit ถูกแทนที่โดย Git สำหรับ Windows 2.x"
Bob Stein

ตอนนี้ฉันใช้ msys2 แทน msysgit msys2.github.io ฉันอัปเดตคำตอบของฉัน
Sam Watkins
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.