k lỗi nhưng dòng chữ to xanh nè với 2 dòng đỏ…
e kiểm tra xem có file .exe của code chưa cũng k thấy có
Lỗi win trong lập trình c++ thư viện window
của ta compile bình thường… Mà đã chỉnh trong compiler settings rồi sao nó vẫn xài mingw32-g++ để compile vậy @_@
giải nén cái compiler kia ra đi
vậy bỏ cái compiler default của Code Blocks đi, xài cái 5.2.0 kia đi
chuẩn rồi a :)))
uk.sao của e cứ báo lỗi hoài nhỉ? ??==
xài cái file a gửi à? thay luôn file trong máy nhé
giải nén nó ở thư mục khác đi. Ko thì xóa cái MinGW kia hết rồi mới copy cái này vô sau, đừng copy đè. Rồi phải vô coi lại đường dẫn trong Compiler Settings kia có đúng ko nữa. Cái file kia có 1 thư mục là mingw32. g++.exe nằm trong mingw32\bin. Giải nén cái mingw32 kia vô thư mục nào đó rồi sửa lại đường dẫn trong compiler settings là xong
thanks a :)) mặc dù chưa xong nhưng bị gọi đi ăn cơm nhiều quá…tý mới làm tiếp dc
chúc a ăn ngon miệng
ta compile thử luôn cái file gdi của zetcode rồi, ngon lành. (nếu xài wWinMain thì mới thêm -municode, còn xài WinMain thì đừng thêm. Mà nên xài wWinMain luôn đi cho viết được nhiều ngôn ngữ hơn)
cái custom controls thì đổi tên file lại thành main.c, xài gcc mà compile. Xài g++ thì bị báo lỗi fpermissive tức là c++ nó ko cho cast void* thành HPEN__*, hơi bị cứng
hoặc ko thì từng dòng lỗi phải explicit cast (ép kiểu tường minh?) nó thành con trỏ tương ứng, ko cast implicitly (ép kiểu ngầm) được.
holdPen = (HPEN)SelectObject(hdc, hPen);
//...
holdFont = (HFONT)SelectObject(hdc, hFont);
//...
holdBrush = (HBRUSH)SelectObject(hdc, hBrushRed);
//...
holdBrush = (HBRUSH)SelectObject(hdc, hBrushYellow);
e cut cái mingw ra chỗ khác rồi cho file a gửi vào rồi,sau đó sửa đường link trên codeblock ở setting vs cả compiler vs debuger rồi mà nó lỗi kiểu khác :)))
build option thì k vào được để thêm -municode
bị lỗi đường link đến thư viện trong compiler :)) cái bản trước thì đến libgi.a mà bản này a gửi,cho e xem link cái :)) bảo sao…cho thử mấy .a khác bị lỗi-lbgi.a
cái lỗi undefine reference to ‘WinMain’ tức là em ko khai báo WinMain mà khai báo wWinMain (ở đây là wmain). Vô Project -> Build Options… mà thêm -municode vào @_@ Vô lại được chưa?
chưa vô lại được thì bấm qua Toolchain executables rồi sửa đường dẫn lại thành C:\Program Files\CodeBlocks\mingw32\bin. Mấy cái ở dưới lần lượt là gcc.exe, g++.exe, g++.exe, ar.exe, windres.exe, mingw32-make.exe.
e check lại hết rồi mà :)) k được…kiểu WinMain thì được (nhưng bên trong khai báo kiểu khác) còn wmain thì lỗi (mặc dù ngắn gọn hơn )
==== mà a cho e hỏi 1 ý : làm shell thì nó khác j với code win32api k a nhỉ?e làm được khá nhiều cửa sổ kiểu đồng hồ,đếm ngược thời gian,thông báo,vẽ…
nhưng có vẻ nó khác với khái niệm shell? e hiểu nó như 1 nơi tương tác để thực hiện câu lệnh,hiện thị lên các cửa sổ,hoặc thông tin mình cần ( giống cmd???)
e mới biết sơ sơ vậy,có gì sai,mong a chỉ bảo :))
wmain là viết tắt của wide-character main chứ ko phải viết tắt của WinMain. Ta đoán là WinMain vẫn xài ASCII chứ ko xài Unicode. Vì wmain hay wWinMain xài Unicode character nên phải thêm -municode lúc linking, còn main với WinMain thì ko cần.
ta ko rành về Windows api với shell nên ko trả lời chính xác được