[PR_C/C++ with Netbeans] - 02

ภาษา C และ C++ เป็นภาษายอดนิยมในหลายๆ ตัวของโลกโปรแกรมมิ่ง แต่เครื่องมือหรือtoolsที่ใช้ในการเขียนภาษาพวกนี้กลับมีน้อยมาก ตัวที่ใช้กันบ่อยๆ ก็คือ turbo C ซึ่งถ้าใครเคยใช้ก็จะพบว่ามันไม่น่าแตะเอาซะเลยตั้งแต่GUIที่หน้าตายังเป็นกราฟิกแบบ8-bitอยู่ แถมใช้งานก็ยากมากเมื่อเทียบกับ text editor ตัวอื่น...
 
หลังๆ มานี่ก็เริ่มมีการเปลี่ยนไปใช้ Dev C++ กันแทนซึ่งก็ดีขึ้นในระดับหนึ่ง ประมาณว่าคล้ายๆ กับEditplusที่อัพเกรดตัวเองขึ้นมาอีกหน่อยนึง ซึ่งตัวที่คล้ายๆ กันก็เช่น Pelles C ที่ต่างกันก็แค่หน้าตากับฟีเจอร์เล็กๆ น้อยๆ
 
วันนี้ก็เลยจะมาเสนอวิธีการทำให้ Netbeans IDE ...โปรแกรมสำหรับพัฒนาโปรแกรมหรือ IDE ชื่อดังตัวหนึ่งที่ developer ทั่วๆ ไปน่าจะเคยได้ยินชื่อมาบ้างตัวนี้ให้มันมาcompileภาษาC/C++ให้เราได้บ้าง
 
โดยส่วนใหญ่แล้ว Netbeans จะถูกใช้กับ developer ที่ใช้ภาษา Java เป็นหลัก (มีอีกตัวหนึ่งที่นิยมไม่แพ้กันนั่นคือ eclipse ซึ่งเจ้าตัวนี้ก็สามารถตั้งให้มันรันC/C++ได้เกมือนกันโดยไปโหลด CDT package มาเพิ่มแต่สำหรับเราคิดว่าnetbeansน่าจะใช้งานได้ดีกว่า) สำหรับการที่จะทำให้มันผันตัวไปเขียน C/C++ ได้ก็ต้องมีการเตรียมของบางอย่างก่อนนั่นคือ...

Linux-like Environment หรือชุดโปรแกรมที่ทำให้ Windows มีenvironmentในการทำงานคล้ายๆ กับLinux OS เพราะโดยตัวเจ้าWindowsเพียวๆ เนี่ยมันไม่มีความสามารถในการcompileภาษาCเหมือนOSทางฝั่งLinux
 
บอกกันก่อน (เพราะบางครั้งเวอร์ชั่นคนละตัวกันอาจจะมีวิธีติดตั้งไม่เหมือนกัน)...specเครื่องของผู้เขียนและversionของโปรแกรมทั้งหมดที่ใช้คือ
  • Windows 7 x64
  • mingw-get-inst-20110530
  • MSYS-1.0.11
  • netbeans-6.9.1-ml-cpp-windows
 
เท่าที่เราsearchหามาก็มีอยู่ 2 เจ้าที่ชาวdeveloperใช้กันคือ
  1. minGW
  2. Cygwin
เท่าที่เราลองใช้มาทั้งสองตัว (installลงเครื่องแล้วลองทดสอบดูแล้ว พบว่าminGWนั้นใ้ช้ง่ายกว่านิดนึง!) จะขอสาธิตวิธีการติดตั้งของ minGW ละกัน
 
อันดับแรกก็ต้องไปdownload เจ้าminGWตัวนี้มาซะก่อน ซึ่งหาได้จาก http://www.mingw.org/
 
installing "minGW"
 
แล้วก็ไม่ต้องพูดพร่ำทำเพลงอะไรกันให้ยืดยาว ก็จัดการinstallมันซะ
 
กดnextไป
 
เลือกตัวแรกก็พอ ไม่ต้องdownloadมาใหม่หรอก
 
กดacceptไปตามระเบียบ
 
อันนี้ให้เลือก C:\MinGW ซึ่งเป็นค่าdefaultของมัน (แนะนำอย่างมากเลยว่ามันให้อะไรมาก็เอาตัวนั้นอย่าไปเปลี่ยน ไม่งั้นตอนหลังที่ต้องเซ็ตตัวnetbeansจะมีปัญหาได้)
 
แล้วสำหรับตัวนี้ก็ให้ติ๊กเลือกเครื่องหมายถูกให้หมด (หรือเอาเฉพาะตัวที่จะใช้ก็ได้แต่ควรมีC++ติดไปด้วยนะ)
 
แล้วก็ปล่อยให้มันจัดการติดตั้งซักพัก...
 
 
แต่ทว่า...
หลังจากที่ติดตั้งเจ้าminGWนี่เสร็จมันยังไม่จบแค่นั้น
เพราะที่เราได้มามันมีแค่ gcc และ g++ หรือตัวcompileภาษาแต่ตัวโปรแกรมที่เอาไว้สร้างโปรเจคงานหรือ make.exe นั้นยังไม่มีเลย
 
เราก็เลยต้องไปหามาเพิ่ม ซึ่งเจ้าตัวนี้มีชื่อว่า msys หาโหลดได้จากที่นี่นะ http://www.mingw.org/wiki/MSYS
 
installing "msys"

หลังจากได้มาแล้วก็จัดการรันตัวinstallซะ
 
nextต่อไปเรื่อยๆ
 
แล้วถ้ามันถามว่าจะติดตั้งที่ไหนก็เลือกที่มันให้มานั่นแล...
 
แล้วหลังจากนั้นก็จะเจอหน้าต่างสีดำๆ คล้ายๆ แบบนี้
ให้พิมพ์ y แล้วกดenterไป
 
พิมพ์ y แล้วenterอีกที...
 
ส่วนอันนี้มันจะถามว่าเราinstallเจ้าตัวminGWไว้ที่ไหน ก็ให้พิมพ์dirที่เราติดตั้งเอาไว้ไป (ซึ่งถ้าคุณทำแบบนี้มาตั้งแต่ต้นก็จะได้ว่า...)
 
C:/MinGW
 
อ้า อันนี้มันก็บอกว่าเสร็จแล้วก็ปิดหน้าต่างนี้ไปซะ
 
จากนั้นเข้าไปที่ C:/
ในนั้นจะมีโฟลเดอร์ของ minGW อยู่ตัวนึง แล้วก็จะมี msys อยู่อีกตัวหนึ่ง...
สิ่งที่ต้องทำต่อไปก็คือ ย้ายโฟลเดอร์ของ msys จากที่มันอยู่ใน C:/ เฉยๆ ให้เข้าไปอยู่ใน C:/MinGW ซะ
พูกง่ายๆ ก็คือลากmsysเข้าไปใส่โฟลเดอร์minGW
 
แต่เท่านั้นมันยังไม่หมด อะไรๆ มันไม่ง่ายขนาดนั้น เราต้องไปเซ็ตค่าpathให้Windowsมันหา minGWของเราเจอเสียก่อน
โดนเข้าไปที่ system environment variable for your account ของ Windows
(ง่ายๆ นะ...พิมพ์คำว่า var ลงไปในช่องค้นหาของstart menu ในกรณีที่เครื่องของคุณเป็น Windows 7 แล้วเลือกตัวแรกเลย)
 
ในช่องบน User Variable for Your_Computer_name ให้เลือก path แล้วกดedit
 
ให้ใส่ค่า ;C:\msys\1.0\bin; C:\MinGW\bin; เพิ่มลงไป เพิ่มต่อท้ายไปนะถ้ามันมีค่าเดิมอยู่แล้ว อย่าไปลงทับค่าเดิม
 
จากนั้นก็ให้ทำคล้ายๆ กันกับช่องด้านล่างที่เขียนว่า System Variable ให้ใส่ค่าเดียวกันนี้ลงไป ;C:\msys\1.0\bin; C:\MinGW\bin; เพิ่มลงไป เพิ่มต่อท้ายไปนะถ้ามันมีค่าเดิมอยู่แล้ว อย่าไปลงทับค่าเดิมเหมือนเดิมที่ทำมาแล้วนั่นแหละ
 
ทีนี้ก็เสร็จสิ้นการติดตั้งทุกอย่างแล้ว ให้เปิดcmdขึ้นมาเพื่อ test ว่าระบบของเรานั้นพร้อมหรือไม่โดยการพิมพ์ commandพวกนี้ลงไป
gcc --version
g++ --version
gdb --version
make --version
ถ้าได้ผลออกมาเป็นเหมือนในรูปหรือไม่มีการแจ้งจาก Windows ว่ามันไม่พบโปรแกรมที่คุณเขียนหาทั้ง4ตัวก็เสร็จแล้ว
 
setting "netbeans C/C++"
 
แล้วก็มาถึงขั้นตอนสุดท้ายกันซะที (เหนื่อยเนาะ?)
ไม่มีอะไรมาก ไปโหลด Netbeans จากเวปต้นของ Netbeans มา
ซึ่งผู้เขียนแนะนำว่าให้เลือก Netbeans6.9.1 for C/C++ (สำหรับC/C++อย่างเดียวไม่เอาฟีเจอร์อื่น) จะเป็นตัวที่ติดตั้งได้ง่ายที่สุดแล้ว
แล้วหลังจากที่โหลดมาแล้วก็installมันซะ
 
กดยอมรับข้อตกลงไป
 
เบือกที่จะติดตั้งโปรแกรมก็ตามที่มันให้มานั่นแหละ
 
เสร็จแล้วก็กดinstaill
 
รอสักครู่...
 
แล้วหลังจากติดตั้งเสร็จก็เปิดโปรแกรมมา
 
แล้วไปที่ Tools > Options
 
เลือก Tab ของ C/C++ ซึ่งเมื่อมาถึงขั้นตอนนี้ถ้าเราติดตั้งมาถูกต้องทุกอย่างเราจะเห็นว่าNetbeansมันdetectเจอเจ้าminGWได้เองเลย แต่ถ้าใครไม่ได้ติดตั้งไว้ตามpathที่มันควรอยู่ท่านก็ต้องไล่browseหาให้มันเอง
 
จากนั้นลอง test ว่ามันรันได้ชัวร์ไม่มั่วนิ่มโดยการสร้างโปรเจคใหม่ขึ้นมาเลย
 
มันจะถามว่าให้เก็บไว้ที่ไหน อันนี้ตามสะดวก
 
มาถึงตอนนี้ก็ลองเขียนcodeอะไรก็ได้เช่น printf("hello momoproject"); ลงไปเป็นการทดสอบ
หรือใครจะทดสอบด้วยคำสั่งของC++เช่น cout << "hello momoproject" << endl; ก็ได้ไม่ว่ากัน
*อย่าลืม #include กับ #include เข้าไปด้วยละกัน เดี๋ยวจะcompileไม่ผ่าน
 
เสร็จแล้วก็กด BUILD mี่แถบด้านบนที่เป็นรูปค้อน
หากไม่มีปัญหาอะไรมันก็จะแจ้งว่าbuild success
 
กด RUN ดู ที่เป็นรูปเครื่องหมายสามเหลี่ยมสีเขียว...ถ้ามันขึ้นโปรแกรมที่เราเขียนไปมาก็เป็นอันจบพิธี
ว้าวๆ ^ __ ^
 

[ものがたる: ความจริงแล้วที่เราต้องมาเขียนC++นั่นมันมีสาเหตุมาจากการที่ต้องทำโปรเจคจบตัวนึง ตอนแรกอาจารย์บอกมาว่าให้เขียนโปรเจคนี้ด้วยopenCVซึ่งมันก็เป็นlibrary ของ C ตัวนึง (ไว้วันหลังจะมาเสนอวิธีการเขียน+ติดตั้งและทำให้Nebeansรู้จักกับopenCVต่อ) แต่เนื่องจากโปรเจคระดับนี้ (ใหญ่มาก) จะให้Dev C++ เขียนก็ใช้เรื่อง...ใจจริงน่ะอย่ากใช้ Javaเขียนเพราะเป็นภาษาที่ถนัดที่สุด

ทำไปทำมาก็เลยต้องไปหา IDE ดีๆ สักตัวมาใช้งานซึ่งมันก็ไม่พ้นเจ้าสองตัวที่ใช้งานอยู่แล้วในการเขียนJava นั่นคือeclipse และ netbeans...แล้วหลังจากสองไปลองมา (นานมากกว่าจะได้ เกือบเดือน เหอะๆ) ก็มาจนที่solutionนี้นั่นแหละ]

*

 

edit @ 1 Aug 2011 18:05:34 by Momo.Ta

Comment

smilebig smileopen-mounthed smileconfused smilesad smileangry smiletonguequestionembarrassedsurprised smilewinkdouble winkcry
smilebig smileopen-mounthed smileconfused smilesad smileangry smiletonguequestionembarrassedsurprised smilewinkdouble winkcry

Tweet