Code C++ trên VSCode bị lỗi: undefined reference to `WinMain@16’

Hi các bác, em mới học C++, muốn code bằng Visual studio code. em cài đặt như hướng dẫn trên mạng, nhưng khi run code thì luôn bị lỗi.

C:/Program Files (x86)/CodeBlocks/MinGW/bin/…/lib/gcc/mingw32/5.1.0/…/…/…/libmingw32.a(main.o):main.c:(.text.startup+0xa7): undefined reference to `WinMain@16’
collect2.exe: error: ld returned 1 exit status

Bác nào đã gặp chỉ em cách Fix với ạ.

1 Like

cái này chắc do lỗi của run code rồi bác thử dùng terminal xem chắc được đấy

mình cũng bị như vậy, run trong terminal cũng như thế

1 Like

Lỗi do chưa khai báo hàm main của project.

Với những IDE, trình biên dịch khác bạn viết:

void main(...){}
int main(...){}

Thì nó sẽ tự hiểu và nhận đó là hàm main và thường không thay đổi được.

Nhưng VS, MSVC thì khác. Bạn có thể tuỳ chọn hàm nào đó là main nhưng phải khai báo trong properties của project. Tìm với từ khoá “Entry Point”. Khả năng lớn mục này đang để trống. Hãy điền tên hàm main vào đây.

3 Likes

Tìm từ khoá Main Entry ở đâu v. Mình mới học nên chưa hiểu lắm cách giải quyết

Anh ấy ghi rõ là tìm trong properties của project rồi mà anh /chị.

2 Likes

Nó là entry point.

5 Likes


bị vậy nhưng ở code C thifd khắc phục ntn vậy mn, chủ thớt kahwcs phục dc chưa bác

em install VS2019 Community xài cho lành, nửa tiếng là xong.

còn ko thì lên mạng xài đỡ:
https://wandbox.org/, https://ideone.com/, https://repl.it/, https://rextester.com/

5 Likes

em học dev thấy có mấy anh em bảo là VS nó tiện , nhiều extension hay nên qua loay hoay cài thử @@

Mấy anh em đó bảo là VS chứ đâu phải là VSCode đâu nhỉ, đây là hai bản khác nhau hoàn toàn. VSCode đúng là có nhiều tính năng hay ho, nhưng nó vốn chỉ là code editor, muốn biên dịch/thông dịch, debug các thứ phải tốn công config các thứ lằng nhằng thành ra nó không tiện cho lắm.

5 Likes

save trước khi chạy! còn không thì vào settings chọn save file before run (code-runner)

9 Likes

Thank you bro nhiều, tôi làm được rồi nhé. @Duc_An_Cao


Các ông vào Extension --> Code-runner --> Extension Setting --> Rồi tích vào 2 dấu này nhé.

18 Likes

vậy đối với dev c thì sao ạ??

Bạn tạo topic mới để hỏi nhé.

2 Likes

Đổi entry point sang WinMain@16, save rồi run lại code nhé

Cảm ơn , chúc bác nhiều sức khỏe.

công đức bác này vô lượng

83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?