Jump to content


Photo

การ makefile โดยใช้ mingw32 gcc compiler (โน้ต สำหรับ ทรงธรรม)


  • Please log in to reply
ยังไม่มีผู้แสดงความเห็นในกระทู้นี้

#1 ทรงธรรม

ทรงธรรม

    ต่อให้ต้องเรียนจนแก่ ก็จะเรียนต่อไป คนเราพัฒนาได้ทุกคน

  • Members
  • PipPipPip
  • 2,157 posts

ตอบ 11 กันยายน พ.ศ. 2556 - 09:44

ขั้นตอนแรก ก็ไป

 

http://www.mingw.org...onHOWTOforMinGW

 

ก็ทำตาม ขั้นตอน การ install

 

คร่าว ๆ ก็ ดาวน์โหลด mingw manager สำหรับ windows

 

แล้ว ก็ทำการ install ตัว manager ที่ว่า

 

ถัดจากนั้น ก็ทำการเลือก compiler ที่ต้องการ

 

แน่นอน ควรเลือก ตัว basic ทั้งหมด

 

แต่ ทรงธรรม ยังไม่เลือก fortran กับ ada

 

(เนื่องจาก ทรงธรรม ลงในเครื่องเก่า กลัว จะ overload ไปหน่อย แหะ ๆ)

 

ก็ทำการ apply ตัวที่เลือก ให้เรียบร้อย

 

นานพอดู อะนะ ก็ลงไปตั้ง เกือบ 900 mb เยอะน่าดู

 

 

หลังจาก ลงโปรแกรม และ ตัว compiler

 

ผมเลือก gcc g++ และ ก็ของ object c ด้วย

 

เหอะ ๆ กะ เรียน c ทุกตัว เลย

 

พอลงไปแบบนี้ เค้า ก็ลง ตัว mingw32-make

 

สำหรับ makefile มาด้วย สะดวกดีแท้

 

 

ก็ทำการ เปลี่ยนค่าใน file fstab

 

ใน C:\MinGW\msys\1.0\etc

 

ให้เป็น

C:\MinGW   /mingw

แรก ๆ มันก็เขียน ตัว sample มา อะแหละ

 

ก็เปลี่ยน ตามนี้

 

แล้ว ก็ทำการ set environment variable

 

ที่ control panel เลือกตัว system

 

ไป advance แล้วก็ environment variable

 

ทำการ เลือกที่ บรรทัด path ไปที่ edit

 

ห้ามลบของเก่า เดี๋ยวเป็นเรื่อง เพิ่มโดยการ

 

ใส่ ; แล้ว เติม C:\MinGW\bin

 

เข้าไป เพื่อให้ cmd.exe ก็ตัว command line

 

สามารถ เจอ คำสั่งต่าง ๆ พวก .exe

 

อย่างเช่น gcc.exe หรือ mingw32-make.exe

 

ไว้ใช้ ตอนทำ makefile

 

 

แล้วสำหรับ systax ในตัว makefile ก็

 

ตัวอย่าง ที่มี file hist.c ซึ่งบรรจุ function main()

 

อันนี้ ไว้ทำตัว .exe

 

แล้วมันจะมี ia.c เป็น file ที่บรรจุ

 

พวก variable และ function ที่สามารถเรียกใช้ได้

 

โดยมีตัวกลาง คือ ia.h เป็นตัวเก็บ

 

พวก document และ หัวของ function(ที่ไม่ใช่ static) รวมถึง

 

ตัว structure และ define ต่าง ๆ

 

 

ซึ่ง ที่ hist.c จะมีการเรียก ia.h เพื่อใช้ function ต่าง ๆ

 

ใน ia.c

 

sample ของการ makefile

 

โดยใช้ gcc compiler ของ mingw

 

#-----------------------------------------------#
# Makefile for windows systems #
# using a GNU C compiler. #
#-----------------------------------------------#

 

CC=gcc
CFLAGS=-g -Wall -D__USE_FIXED_PROTOTYPES__ -ansi
all: hist
hist: hist.o ia.o
        $(CC) $(CFLAGS) -o hist hist.o ia.o
hist.o: hist.c ia.h
ia.o: ia.c ia.h
clean:
        rm -f hist hist.o ia.o

 

 

ก็ save file จาก note pad ไม่ต้องใส่ นามสกุล แต่ใช้ชื่อ makefile

 

แล้ว ต้องห้ามลืมกด tab ตรง ส่วนที่เป็น command

 

เช่น $(CC) $(CFLAGS) -o hist hist.o ia.o

 

พอลืม แล้วมันบอก missing separator

 

ในกรณี ถ้าเป็น cpp file คือ c++

 

ให้ใช้ g++ แืทน gcc

 

ตรงตัว  ที่กำหนด command สำหรับ compile

 

CC=gcc

 

 

แล้ว ก็ถึงขั้นตอน การทำ makefile

 

ก็ไปที่ cmd.exe เปิด command line

 

start เลือก run พิมพ์ cmd

 

จากนั้นเปลี่ยน directory เป็นที่เราเก็บ

 

file c และ file h ทั้งหลายไว้ รวมถึง file makefile ด้วย

 

เนื่องจาก เรา ทำการ set path variable

 

ให้ชี้ไปที่ mingw แล้ว

 

ก็ทำการ พิมพ์ mingw32-make ได้เลย

 

มันจะหา makefile โดยอัตโนมัติ

 

ถ้าไม่มี มันจะบอก no target

 

ถ้า ตัว file makefile ของเรา คำสั่งผิด

 

หรือไม่ชัดเจน มันจะขึ้น no rule

 

 

ถ้าเรียบร้อย มันจะขึ้นว่า กำลังสร้าง

 

file o คือ file object และ สุดท้าย

 

ก็ file exe คือ file executable ไว้ให้เรา

 

ทำการ run ก็เป็นอันจบ


ขอให้พวกเรา ชาวหลากสี และพันธมิตร จงมีชีวิตรอด จากภาวะเศรษฐกิจตกต่ำ ฝีมือปูนา ไปตลอดรอดฝั่งด้วยครับ

 

PEMDAS ย่อมาจาก ลำดับการคำนวณ Parentheses , Exponentials , Multiply , Divide , Add , Subtract

 

FWGHSO ย่อมาจาก ลำดับการประเมินผลของ query  FROM, WHERE, GROUP BY, HAVING, SELECT, ORDER BY





ผู้ใช้ 1 ท่านกำลังอ่านกระทู้นี้

สมาชิก 0 ท่าน, ผู้เยี่ยมชมทั่วไป 1 ท่าน และไม่เปิดเผยตัวตน 0 ท่าน