Update 17/10/2021: Hướng dẫn cài đặt MSYS2 MinGW và cấu hình debugger cho Codeblock
1. Install MSYS2
Vào trang https://msys2.github.io/ và download installer về. Nhớ là nếu máy bạn xài là 64-bit thì bạn download msys2-x86_64, còn 32-bit thì download msys2-i686.
Máy mình là 64-bit, nên mình down bản x86_64
. Mình install nó vào H:/msys2_64
. Nhớ chọn “Run MSYS2 now” để update các thư viện sau khi install.
Sau đó khi MSYS console đã được bật, bạn cần update pacman
. pacman
là công cụ của Arch Linux, tương đương với apt-get
bên Ubuntu. Gõ lệnh:
pacman -Sy pacman
Gõ y
để xác nhận update. Trong hình này vì mình đã update pacman
rồi nên nó mới hỏi lại có reinstall hay không.
Sau đó đóng cửa sổ chương trình, vô Start Menu -> MSYS2 64-bit -> MSYS2 MSYS
để bật lại MSYS console, chạy tiếp lệnh này để update các công cụ còn lại:
pacman -Syu
Bản MSYS2 này hình như thiếu cộng cụ make
và vài công cụ giải nén khác. Để install 3 công cụ make
, tar
, và unzip
, bạn chỉ cần gõ vài ba dòng lệnh là xong:
pacman -S make tar unzip
2. Install MinGW-w64
Tương tự như khi install make
, bạn chỉ cần gõ dòng lệnh:
pacman -S mingw-w64-x86_64-gcc
(thế x86_64
bằng i686
nếu máy bạn là 32-bit)
Rồi bấm y
chờ nó install là xong. Thời gian install khá lẹ, chưa đầy 2 phút là xong rồi.
Cửa số console hiện tại ko có MinGW trong PATH, nên sau khi install MinGW rồi, bạn nên bật MSYS2 MING64 (hoặc MING32) trong Start Menu thay vì MSYS2 MSYS.
Phiên bản gcc
này không kèm sẵn gdb
, nên bạn còn phải install thêm gdb
cho mingw nữa:
pacman -S mingw-w64-x86_64-gdb
Và install thư viện Boost cực kì đơn giản với 1 dòng lệnh:
pacman -S mingw-w64-x86_64-boost
Nếu cần bạn cũng có thể install thêm gmp
: pacman -S mingw-w64-x86_64-gmp
, nhưng hình như nó đã có sẵn rồi.
3. Thêm MSYS và MinGW-w64 vào PATH
Ra ngoài Desktop, right-click vào This PC icon, chọn Properties. Bạn cũng có thể vào Control Panel -> System and Security -> System để bật cửa sổ này.
Chọn dòng Advanced system settings rồi Environment Variables…
Trong cửa sổ Environment Variables, tạo System variables mới bằng cách bấm vào nút New… ở dưới:
Rồi tạo MSYS2_ROOT
là đường dẫn tới thư mục chứa MSYS2 mà bạn đã install ở trên, cộng thêm /usr
Và MINGW64_ROOT
là đường dẫn tới thư mục MINGW64
Tạo xong bạn vô lại cửa sổ Environment Variables, double-click vào dòng path
ở trên (trong thẻ User variables), rồi bấm New để thêm vào 2 đường dẫn như trong hình:
Ra ngoài bật cmd lên, gõ vào g++ --version
, make --version
, where g++
, where make
để kiểm tra xem đã thêm 2 đường dẫn kể trên vào PATH chưa:
Nếu nó không báo lỗi thì bạn đã thêm MSYS2 usr/bin
và mingw64/bin
vào PATH thành công!
4. Setup MinGW-w64 compiler và debugger cho Code::Blocks
4.1. Setup debugger
Đầu tiên bạn cần tạo file pp.gdb
trong thư mục %MINGW64_ROOT%\bin
có nội dung như sau:
python
import sys, os
sys.path.insert(0, os.environ.get('MINGW64_ROOT') + '\\share\\gcc-6.2.0\\python\\libstdcxx\\v6')
from printers import register_libstdcxx_printers
register_libstdcxx_printers (None)
end
Tùy vào version của gcc
mà bạn chọn thư mục tương ứng, ở đây gcc --version
nó in ra 6.2.0
nên mình chọn path là '\\share\\gcc-6.2.0\\python\\libstdcxx\\v6'
. Hiện tại gcc mới nhất là 8.2.0
thì sửa số 6 thành số 8.
Sau đó mở Code::Blocks lên, chọn Settings -> Debugger…, bấm nút Create Config và đặt tên nó là MSYS2 MINGW64.
Sau đó thêm thông tin cho debugger này:
4.2. Setup compiler
Chọn Settings -> Compiler…, bấm nút Copy để tạo thông tin cho compiler mới, đặt tên nó là MSYS2 MINGW64, Set as default luôn.
Và thêm thông tin cho Compiler này trong thẻ Toolchain executables:
Ở dòng cuối cùng, Code::Blocks đòi mingw32-make.exe
, nó không có sẵn trong /mingw64/bin, bạn có thể install bằng cách gõ lệnh pacman -S mingw-w64-x86_64-make
.
Vậy là xong. Khởi động lại Code::Blocks rồi mở 1 project compile, debug thử.
Hiện tại mình chạy thử thì thấy cái debugger này không parse được std::list
nên bạn có thấy nó không hiện ra nội dung của std::list
là bình thường. Nếu nội dung của std::string
không hiện ra thì có thể phải cần set Debug -> Active debuggers -> MSYS2 MINGW64.