ติดตั้ง 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.