Lỗi lập trình c++ trên ubuntu undefined reference to main năm 2024
Trong bài viết này, Lập Trình Không Khó sẽ hướng dẫn bạn cách cài đặt Visual Studio Code và thiết lập Visual Studio Code cho mục đích học lập trình C/C++. Đây là một editor do Microsoft phát triển dưới dạng mã nguồn mở (opensourse) khá xịn xò được rất nhiều lập trình viên yêu thích. Bài viết sẽ hướng dẫn bạn chi tiết từng bước để cài đặt Visual Studio Code để có thể code C/C++ một cách tiện lợi nhất. Show
Trước khi đi vào cài đặt Visual Studio Code, hãy bàn xem tại sao vscode lại được các lập trình viên yêu thích đến vậy. Bằng chứng rõ nhất là mã nguồn mở của Editor này trên Github có hơn 125k stars. Dưới đây là một số nguyên do:
Tiếp theo, mình sẽ hướng dẫn bạn cài Visual Studio Code để code C hoặc C++ nhé. NỘI DUNG BÀI VIẾT Hình 2. Lựa chọn phiên bản tương ứng với hệ điều hành của bạnTrên hệ điều hành Windows
Trên hệ điều hành MacOS
Trên hệ điều hành Ubuntu
Cuối cùng, giao diện của VS Code khi mở lên có thể sẽ trông giống như thế này. Hình 3. Giao diện của VS Code. Ở bước sau, chúng ta sẽ truy cập vào Chợ extension để cài đặt C/C++ extension bạn nhé.Tiếp theo, mình sẽ hướng dẫn các bạn cách thiết lập Visual Studio Code cho mục đích code C/C++ nhé. Cài đặt trình biên dịch (Compiler)Với ngôn ngữ C/C++ thì chúng ta cần có trình biên dịch để có thể biên dịch code trước khi có thể chạy trên hệ điều hành của bạn. Do VS Code chỉ là 1 editor nên nó không được tích hợp sẵn trình biên dịch. Kể cả bạn cài tiện ích mở rộng (extension) của C/C++ thì nó cũng không đi kèm trình biên dịch. Với đa số hệ điều hành Linux và MacOS thì bản thân nó đã có sẵn trình biên dịch C/C++ rồi. Bạn có thể kiểm tra xem máy mình đã có trình biên dịch hay chưa bằng cách sau: Trên Visual Studio Code, mở Terminal bằng tổ hợp phím (Ctrl + ` ). Sau đó gõ câu lệnh kiểm tra phiên bản g++ dưới đây: g++ --version // hoặc g++ -v Nếu có thông báo lỗi như sau (hoặc tương tự): g++ is not recognized as an internal or external command … thì là bạn chưa có trình biên dịch và cần phải cài. Nếu có thông báo ra phiên bản của g++ như hình demo dưới đây (trên Ubuntu, Windows hoặc MacOS có thể khác), bạn có thể bỏ qua và chuyển sang bước tiếp theo. Hình 4. Minh họa kết quả kiểm tra trình biên dịch C/C++Tiếp theo, hướng dẫn dưới đây sẽ chỉ bạn cách cài trình biên dịch cho hệ điều hành Windows. Với trường hợp máy bạn đã có Dev-C hoặc CodeBlock sử dụng bình thường. Các IDE này đã có cài kèm theo trình biên dịch, hãy tìm đường dẫn tới trình biên dịch đó và thêm vào PATH là xong. Ta có thể sử dụng nó nếu bạn đã có các IDE này trên máy. Xem bài hướng dẫn chi tiết với Dev-C++ tại đây. Mẹo: Thường trình biên dịch của IDE đó sẽ nằm cùng thư mục cài của IDE. Bạn có thể chuột phải vào icon của IDE -> Open item location. Chúng thường nằm trong ổ C và thư mục trình biên dịch thường có cụm từ “mingw”. Nếu không, bạn hãy cài đăng Mingv-w64 thông qua MSYS2. Nó cung cấp các phiên bản GCC mới nhất. Click vào đây để tải về và tiến hành cài đặt. Hướng dẫn cài đặt chi tiết có trang chủ của MSYS2. Thêm MinGW compiler vào PATHBất kể là bạn cài theo cách nào, sau khi có được đường dẫn của MinGW, chúng ta cần thêm nó vào PATH trong Enviroment Variable của hệ điều hành. Nếu bạn cài MinGW thông qua MSYS2 theo mặc định, path đó sẽ là C:\msys64\mingw64\bin . Hãy đảm bảo trong path này có file g++.exe và gcc.exe Cách thêm vào PATH:
Tiếp theo, bạn tắt Visual Studio Code đi và mở lại để nó khởi động lại Terminal. Thực hiện kiểm tra lại xem đã có trình biên dịch chưa theo hướng dẫn sử dụng command g++ –version phía trên. Có thể một số máy tính sẽ cần phải khởi động lại (Restart). Sau bước này, nếu thành công thì trình biên dịch C/C++ đã được cài lên máy bạn. Cài đặt C++ extensionĐầu tiên, hãy cài extension C/C++ Tại Visual Studio Code, bạn click vào Chợ extension (Hình 3) và tìm kiếm từ khóa “C++” và cài đặt extension của Microsoft như hình dưới đây nhé. Hình 7. Hướng dẫn cài C/C++ extensionSau bước này, có thể bạn sẽ cần restart (tắt, bật lại) VS Code để extension có hiệu lực. Extension này giúp highlight C/C++ code. Đồng thời, nó cũng sẽ gợi ý (autocomplete) cũng như tài liệu mô tả về hàm khi di chuyển chuột tới tên hàm, phát hiện lỗi, … Tiếp theo, nếu bạn muốn tiện lợi khi chạy code (tuy tiện nhưng bạn có thể sẽ không hiểu bản chất của biên dịch & chạy code). Hãy cài cho mình extension Code Runner nữa. Mình vẫn khuyên bạn nên có 1 thời gian dùng với Terminal trước. Hình 8. Extension giúp bạn chạy code nhanh hơnChương trình C/C++ đầu tiên trên VS CodeBước 1. Tạo 1 thư mục cho dự án của chúng ta ở nơi nào đó, sau đó mở thư mục này lên bằng Visual Studio Code nhé. Có thể click chuột phải vào thư mục đó và chọn Mở bằng VS Code. Bước 2. Click vào menu File -> New File hoặc tổ hợp phím (Ctrl + N) để tạo mới 1 tập tin. Sau đó tiến hành lưu lại với tên Hello.c và nhập nội dung dưới đây (hoặc code của bạn): include int main() { }Note: C++ là phiên bản cải tiến của C nên có thể chạy code C bình thường. Chạy chương trình theo cách ngầuBước 1. Mở Terminal bằng tổ hợp phím Ctrl + ` . Nếu bạn đang làm việc trong 1 thư mục, Terminal sẽ tự động trỏ đến thư mục đó. Hãy đảm bảo file Hello.c bạn vừa tạo có trong đó bằng cách gõ trên Terminal: // Windows dir //Linux or MacOS ls -la Tiếp theo, biên dịch và chạy chương trình qua giao diện dòng lệnh. Bạn lưu ý cần lưu code trước khi chạy các câu lệnh này, nếu không sẽ bị báo lỗi ‘undefined reference to `main’ hoặc lỗi khác không mong muốn. // Với ngôn ngữ C gcc Hello.c -o Hello && ./Hello // Với ngôn ngữ C++ g++ Hello.c -o Hello && ./Hello Bạn sẽ thấy kết quả chạy chương trình hiện ra cũng trên Terminal này. lap60313@LAP60313:/Desktop/LTKK$ ls -la total 20 drwxrwxr-x 2 lap60313 lap60313 4096 Thg 1 11 13:39 . drwxr-xr-x 5 lap60313 lap60313 12288 Thg 1 11 13:35 .. -rw-rw-r-- 1 lap60313 lap60313 71 Thg 1 11 13:38 Hello.c lap60313@LAP60313:/Desktop/LTKK$ lap60313@LAP60313:/Desktop/LTKK$ gcc Hello.c -o Hello && ./Hello Nhap n_iter = 3 Lap trinh khong kho! Lap trinh khong kho! Lap trinh khong kho! lap60313@LAP60313:/Desktop/LTKK$ lap60313@LAP60313:~/Desktop/LTKK$ g++ Hello.c -o Hello && ./Hello Nhap n_iter = 4 Lap trinh khong kho! Lap trinh khong kho! Lap trinh khong kho! Lap trinh khong kho! Chạy chương trình theo cách đơn giảnTheo cách này, hãy cài cho mình extension Code Runer đã nhắc đến ở phần trên (cài đặt C++ extension). Một số phím tắt của extension này:
Một lưu ý, Terminal của VS Code mặc định ở chế độ chỉ đọc (Read-only) nên nếu bạn chạy ngay thì sẽ không thể nhập được giá trị từ console. Do đó, hãy vào menu File -> Preferences -> Settings. Tìm và tích chọn vào option Run in Terminal như hình 9 dưới đây2. Hình 9. Tắt chế độ Read-only của Terminal trên VS Code.Giờ bạn có thể dùng phím tắt phía trên để chạy code C/C++ hoặc sử dụng icon run code hình tam giác ở góc trên bên phải. Hoặc cũng có thể click chuột phải vào file cần chạy và chọn chức năng Run Code. Bật chế độ Auto Save (Tự động lưu code)Dù chạy theo cách nào thì các bạn lần đầu làm quen với IDE, đặc biệt các bạn mới học rất hay quên lưu code trước khi chạy. Nếu có thể, hãy làm quen với tổ hợp phím Ctrl + S và nên sử dụng thường xuyên khi code và sử dụng nó trước khi chạy (biên dịch) chương trình. Để thiết lập Auto Save, bạn cũng từ menu chọn File -> Preferences -> Settings. Tìm kiếm từ khóa “Auto Save” và đổi từ giá trị “off” sang cách mà mình muốn. |