[C/C++] Đồ họa trong Dev-C++
Update 24/05/2014: Đã test thành công trên cả hệ thống win 64 lẫn 32 bit.
Sử dụng được cả thư viện winbgim.h và graphics.h
Việc sử dụng đồ họa trên dev-C hơi khó khăn só với trên Turbo C khi mà Turbo C cho phép sử dụng ngay còn dev-C thì không được, chúng ta cần một số bước nhỏ để thiết lập đồ họa trong Dev-C.
Nội dung
Sử dụng thư viện winbgim.h
Sử dụng thư viện graphics.h
Sử dụng thư viện winbgim.h
Cách làm rất đơn giản, chì cần copy các file vào các thư mục là xong.
Trước tiên bạn tải các file cần thiết tại đây
Sau khi down về bạn giải nén sẽ thấy một thư mục “VietSource.net – Graphics in Dev-C” trong thư mục có 5 file:
Bạn copy:
– file libbgi.a vào thư mục lib (thường là C:\Program Files\Dev-Cpp\MinGW32\lib)
– file winbgim.h và graphics.h vào thư mục include (thường là C:\Program Files\Dev-Cpp\MinGW32\include)
– 2 file 6-ConsoleAppGraphics.template và file ConsoleApp_cpp_graph.txt vào thư mục Templates (thường là C:\Program Files\Dev-Cpp\Templates)
Nếu bạn dùng win 64 bit thì hãy download bản 32 bit về cài bình thường và copy các file như trên nhưng vào thư mục từ C:Program Files (x86)Dev-Cpp…
Tiếp theo bạn khởi động Dev C++ lên, vào File–>New–>Project…->Console Graphics Application
Lưu project lại và bạn sẽ thấy trong file main có nội dung một chuơng trình đơn giản như sau:
/* graphics in Dev-C++ - nguyenvanquan7826 */ #include <winbgim.h> int main(int argc, char *argv[]) { // now, you can run project initwindow(300, 300); // init window graphics setbkcolor(1); // set background cleardevice(); setcolor(14); // set text color outtextxy(50,100,"Graphics in Dev-C++");// print text in window graphics while(!kbhit()) delay(1); // pause screen return 0; }
Và ngay lập tức bạn có thể chạy chuơng trình (Khi chạy bạn cần lưu file main lại).
Sử dụng thư viện graphics.h
Các bạn làm tương tự như với thư viện winbgim.h nhưng chỉ khác là copy thư viện graphics.h vào C:Program FilesDev-CppMinGW32include. Sau đó tạo project như trên và thay vì khai báo thư viện winbgim.h thì ta khai báo thư viện graphics.h
Tham khảo: Lập trình C với đồ họa trên Linux (Ubuntu)
Tài liệu đồ họa trong C: dowload
win 7 64bit của mình ko chạy được luôn! Phải kéo cả thư viện vào project mới chạy được!
Không biết bạn copy thư viện vào gồm những file nào vậy? ngoài file winbgim.h còn thư viện nào khác không?
Chỉ cần file thư viện đó thôi bạn! Nhưng file thư viện này không hỗ trợ màu bằng chữ! Ví dụ như setcolor(BLACK); sẽ báo lỗi nhưng setcolor(1); thì lại không lỗi! Mình kiếm được file graphics.h rồi nhưng cài lại win lỡ làm mất và không cần phải copy file thư viện vào project nữa! Tiếc quá!@@
😀 Cảm ơn bạn nhé, đúng là không dùng được màu chữ, nhưng mình copy thư viện vào project vẫn chưa thực hiện được trên win 64. Chắc phải thử làm lại.
Cảm ơn bạn vì bài viết!
Mình đã làm theo hướng dẫn của bạn và đã sử dụng được thư viện “winbgim.h”, nhưng loay hoay mãi mà không add được cái “graphics.h”; làm phiền bạn hướng dẫn mình với.
Cái graphics này mình không dùng và cũng không biết dùng nữa. Bạn thử search google xem nhé. 😀
Đã update hoàn tất nhé các bạn. Sử dụng được trên cả hệ thống win 8 32 bit và 64 bit. Sử dụng được thư viện winbgim.h hoặc graphics.h.
Cảm ơn bạn rất nhiều!
Mình đã làm được rồi. Chính xác là chỉ có thể sử dụng được một trong hai thư viện thôi!
😀 Tất nhiên là vậy. Dùng cái này thì thôi cái kia chứ. ^^ Ai dùng cả 2 làm gì.
Mình bổ xung chút nha. Không nhất thiết là phải cài Dev C++ 32 bit thì mới dùng được, nếu cài Dev C++ 64 bit thì chỉ cần sửa đổi chút như thế này là dùng được:
– Thay vì copy các file vào đường dẫn “C:Program Files (x86)Dev-CppMinGW32…” thì ta copy các file vào đường dẫn “C:Program Files (x86)Dev-CppMinGW64x86_64-w64-mingw32…”.
– “Bắt buộc” phải chọn trình biên dịch là “TDM-GCC 4.8.1 32-bit Release” trước rồi sau đó mới được tạo Project mới.
Cảm ơn bạn. Để test thử xem nó thế nào ^^
Cảm ơn bạn rất nhiều! Mình cũng loay hoay mãi.
Đúng là bắt buộc phải để trình biên dịch như bạn nói ^^
s mình cài cái thư viện winbgim.h vào mà không chạy được bạn, nó báo lỗi g++ j ấy, có khi nào visual c++ với cái dev C đối kháng nhau không vậy. tại máy mình cài visual c++ r
Cái này mình cũng không rõ nữa.
bạn có cài chương trình diệt virut k? nếu có thì tắt đi nó sẽ chạy bình thường
sao minh làm theo các bước trên coppy rôi file/new project… nó tạo ra 1 file .dev và 1 file .cpp; mình chạy cái chương trình ở trên thì ok. nhưng khi thoát hết ra vào lại (cái có đuôi .cpp ý) ấn f9 thì nó báo k hiểu initwindow,… là gì. vậy là sao ạ. mn giải thích với
Bạn phải mở project bằng file có đuôi dev thì mới đk.
Cho em hỏi khi cài xong, chạy thì nó báo lổi này thì làm sao:
C:\Program Files (x86)\Dev-Cpp\MinGW64\x86_64-w64-mingw32\bin\ld.exe cannot find -lbgi
C:\Users\goldt\Documents\winbgim1\collect2.exe [Error] ld returned 1 exit status
25 C:\Users\goldt\Documents\winbgim1\Makefile.win recipe for target ‘winbgim1.exe’ failed
Có thể do chế độ bạn để ko chuẩn, bạn xem cách đối với win 64 bên trên nhé
sao mình chạy thử nó báo lỗi :
378 1 c:\program files\dev-cpp\mingw32\include\winbgim.h [Error] unknown type name ‘bool’
379 20 c:\program files\dev-cpp\mingw32\include\winbgim.h [Error] expected ‘;’, ‘,’ or ‘)’ before ‘&’ token
sửa giúp mình với
Bạn xem cho mình với nó bảo lỗi Source is not compile
C:\Users\aviSHOP\Desktop\Makefile.win recipe for target ‘pp.o’ failed
C:\Users\aviSHOP\Desktop\process_begin CreateProcess(C:\Users\aviSHOP\AppData\Local\Temp\make4840-1.bat, C:\Users\aviSHOP\AppData\Local\Temp\make4840-1.bat, …) failed.
C:\Users\aviSHOP\Desktop\make (e=5) Access is denied.
mình làm các bước như trên nhưng đến phần File -> New -> Project thì hộp thoại xuất hiện không thấy có Console Graphics Application. Bạn giúp mình với!
Hãy chắc rằng các file của bạn để đúng thư mục nhé và xem là win 64 hay 32 bit, download đúng bản dev-c chưa nhé.
Mình cảm ơn bạn nha! Phần để file vào thư mục thì phải tự hiểu hiểu rồi đặt vào đúng chỗ thôi, vì mỗi bản release lại có một kiểu sắp thư mục hơi khác nhau.
Đã đọc nhiều bài hướng dẫn về C++ của bạn, mình thực lòng biết ơn bạn luôn ấy 🙂
e test ok nhưng khi viết 1 hoặc cop 1 chương trình khác lại báo lỗi ở ” initgraph(&gd, &gm, “C:\\TC\\BGI”); là s ạ
c:\program files (x86)\dev-cpp\mingw64\x86_64-w64-mingw32\bin\ld.exe skipping incompatible C:/Program Files (x86)/Dev-Cpp/MinGW64/lib/libbgi.a when searching for -lbgi
c:\program files (x86)\dev-cpp\mingw64\x86_64-w64-mingw32\bin\ld.exe skipping incompatible C:/Program Files (x86)/Dev-Cpp/MinGW64/lib\libbgi.a when searching for -lbgi
c:\program files (x86)\dev-cpp\mingw64\x86_64-w64-mingw32\bin\ld.exe skipping incompatible C:/Program Files (x86)/Dev-Cpp/MinGW64/x86_64-w64-mingw32/lib/libbgi.a when searching for -lbgi
c:\program files (x86)\dev-cpp\mingw64\x86_64-w64-mingw32\bin\ld.exe skipping incompatible C:/Program Files (x86)/Dev-Cpp/MinGW64/x86_64-w64-mingw32/lib\libbgi.a when searching for -lbgi
c:\program files (x86)\dev-cpp\mingw64\x86_64-w64-mingw32\bin\ld.exe skipping incompatible c:/program files (x86)/dev-cpp/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/4.8.1/../../../../x86_64-w64-mingw32/lib/../lib/libbgi.a when searching for -lbgi
c:\program files (x86)\dev-cpp\mingw64\x86_64-w64-mingw32\bin\ld.exe skipping incompatible c:/program files (x86)/dev-cpp/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/4.8.1/../../../../x86_64-w64-mingw32/lib/../lib\libbgi.a when searching for -lbgi
c:\program files (x86)\dev-cpp\mingw64\x86_64-w64-mingw32\bin\ld.exe skipping incompatible c:/program files (x86)/dev-cpp/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/4.8.1/../../../../lib/libbgi.a when searching for -lbgi
c:\program files (x86)\dev-cpp\mingw64\x86_64-w64-mingw32\bin\ld.exe skipping incompatible c:/program files (x86)/dev-cpp/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/4.8.1/../../../../lib\libbgi.a when searching for -lbgi
c:\program files (x86)\dev-cpp\mingw64\x86_64-w64-mingw32\bin\ld.exe skipping incompatible c:/program files (x86)/dev-cpp/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/4.8.1/../../../../x86_64-w64-mingw32/lib/libbgi.a when searching for -lbgi
c:\program files (x86)\dev-cpp\mingw64\x86_64-w64-mingw32\bin\ld.exe skipping incompatible c:/program files (x86)/dev-cpp/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/4.8.1/../../../../x86_64-w64-mingw32/lib\libbgi.a when searching for -lbgi
c:\program files (x86)\dev-cpp\mingw64\x86_64-w64-mingw32\bin\ld.exe skipping incompatible c:/program files (x86)/dev-cpp/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/4.8.1/../../../libbgi.a when searching for -lbgi
c:\program files (x86)\dev-cpp\mingw64\x86_64-w64-mingw32\bin\ld.exe skipping incompatible c:/program files (x86)/dev-cpp/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/4.8.1/../../..\libbgi.a when searching for -lbgi
c:\program files (x86)\dev-cpp\mingw64\x86_64-w64-mingw32\bin\ld.exe skipping incompatible C:/Program Files (x86)/Dev-Cpp/MinGW64/lib/libbgi.a when searching for -lbgi
c:\program files (x86)\dev-cpp\mingw64\x86_64-w64-mingw32\bin\ld.exe skipping incompatible C:/Program Files (x86)/Dev-Cpp/MinGW64/x86_64-w64-mingw32/lib/libbgi.a when searching for -lbgi
c:\program files (x86)\dev-cpp\mingw64\x86_64-w64-mingw32\bin\ld.exe skipping incompatible c:/program files (x86)/dev-cpp/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/4.8.1/../../../../x86_64-w64-mingw32/lib/../lib/libbgi.a when searching for -lbgi
c:\program files (x86)\dev-cpp\mingw64\x86_64-w64-mingw32\bin\ld.exe skipping incompatible c:/program files (x86)/dev-cpp/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/4.8.1/../../../../lib/libbgi.a when searching for -lbgi
c:\program files (x86)\dev-cpp\mingw64\x86_64-w64-mingw32\bin\ld.exe skipping incompatible c:/program files (x86)/dev-cpp/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/4.8.1/../../../../x86_64-w64-mingw32/lib/libbgi.a when searching for -lbgi
c:\program files (x86)\dev-cpp\mingw64\x86_64-w64-mingw32\bin\ld.exe skipping incompatible c:/program files (x86)/dev-cpp/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/4.8.1/../../../libbgi.a when searching for -lbgi
c:\program files (x86)\dev-cpp\mingw64\x86_64-w64-mingw32\bin\ld.exe cannot find -lbgi
C:\Users\NGUYEN HUY HOANG\Pictures\Camera Roll\collect2.exe [Error] ld returned 1 exit status
25 C:\Users\NGUYEN HUY HOANG\Pictures\Camera Roll\Makefile.win recipe for target ‘MyProject.exe’ failed
cái này bị lỗi j vậy anh em đang thắc mắc có thể chỉ em đi
Mình ấn chạy thì nó mở Makefile.win và bị báo lỗi ở dòng này
$(CPP) $(LINKOBJ) -o $(BIN) $(LIBS)