강의

멘토링

로드맵

Inflearn brand logo image

인프런 커뮤니티 질문&답변

songmi0054님의 프로필 이미지
songmi0054

작성한 질문수

10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트

windows c++ 환경 셋팅

해결된 질문

작성

·

173

0

- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요!
- 먼저 유사한 질문이 있었는지 검색해보세요.
- 서로 예의를 지키며 존중하는 문화를 만들어가요.
- 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.

 

윈도우에서 visual studio code로 c++ 환경을 셋팅하려고 하는데, 계속 똑같은 오류가 발생합니다.

MSYS2 통해서 MinGW-w64 toolchain 다운로드 받고 환경변수까지 다 설정했습니다.

https://code.visualstudio.com/docs/cpp/config-mingw#_prerequisites

 

.cpp 파일 만들어서 g++ -std=c++14 -Wall a.cpp -o a.out 명령어를 치면

C:/msys64/ucrt64/bin/../lib/gcc/x86_64-w64-mingw32/14.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/msys64/ucrt64/bin/../lib/gcc/x86_64-w64-mingw32/14.2.0/../../../../lib/libmingw32.a(lib64_libmingw32_a-crtexewin.o): in function `main':

C:/M/B/src/mingw-w64/mingw-w64-crt/crt/crtexewin.c:67:(.text.startup+0xc5): undefined reference to `WinMain'

collect2.exe: error: ld returned 1 exit status

해당 에러가 발생합니다. 이걸 어떻게 해결해야 할지 모르겠습니다. (c/c++ configuration ui 설정까지 다 했습니다.)

이를 해결할 방법이나 윈도우에서 visual studio code에서 c++ 환경을 셋팅하는 방법을 알려주시면 감사하겠습니다.

답변 2

0

큰돌님의 프로필 이미지
큰돌
지식공유자

안녕하세요 ㅎㅎ

윈도우에서는 제 교안내 방법처럼 DEVC++로 환경설정하시는 걸 추천드립니다.

 

감사합니다.

 

0

안녕하세요, 인프런 AI 인턴입니다.

songmi0054님께서 윈도우 환경에서 Visual Studio Code를 이용하여 C++ 개발 환경을 설정하시다가 발생한 오류에 대해 설명드리겠습니다. 해당 오류는 주로 main 함수가 아닌 WinMain 함수가 정의되어야 하는 경우에 발생합니다. 이는 Windows 어플리케이션에서 GUI 애플리케이션을 개발할 때 주로 발생하는 이슈입니다. 콘솔 애플리케이션 개발을 원하신다면 다음과 같은 방법을 시도해 보시길 바랍니다.

  1. 코드 점검: 작성하신 C++ 코드 파일이 int main() 함수로 시작하고 있는지 확인해주세요. 만약 없다면, main 함수가 제대로 작성되어 있는지 확인하시기 바랍니다.
#include <iostream>

int main() {
    std::cout << "Hello, World!" << std::endl;
    return 0;
}
  1. 파일 확장자 및 컴파일 옵션 확인:

    • 파일이 .cpp 확장자로 저장되어 있는지 확인해주세요.
    • 컴파일 명령어에서 -o a.out 대신 -o a.exe 로 변경해보세요.
  2. MSYS2 및 MinGW 환경 변수 이름 확인: PATH 환경 변수에 정확히 MinGW의 bin 디렉토리가 포함되어 있는지 확인해주세요.

    • 예: C:\msys64\ucrt64\bin
  3. Visual Studio Code 설정:

    • Visual Studio Code의 tasks.json에서 올바른 컴파일러 경로가 설정되어 있는지 확인해 보세요.
{
    "version": "2.0.0",
    "tasks": [
        {
            "label": "build",
            "type": "shell",
            "command": "g++",
            "args": [
                "-g",
                "${file}",
                "-o",
                "${fileDirname}\\${fileBasenameNoExtension}.exe"
            ],
            "group": {
                "kind": "build",
                "isDefault": true
            },
            "problemMatcher": ["$gcc"]
        }
    ]
}
  1. 링킹 옵션 수정: WinMain 오류가 발생할 경우, -mwindows 등을 제거해 보시고, 단순히 g++ 옵션으로 링크해보세요.

songmi0054님과 유사한 질문이 존재하는 다음의 링크를 통해 추가 정보를 얻을 수 있습니다:
- C++ 초기설정 에러 문의

위의 방법들로 오류가 해결되지 않는다면, 좀 더 구체적인 코드 또는 설정 내용을 공유해주시면 추가적인 도움이 될 것입니다. 질문자님의 이해를 돕고 유사한 문제를 해결하신 분들의 경험을 공유드리고자 합니다.

현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏 추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

songmi0054님의 프로필 이미지
songmi0054

작성한 질문수

질문하기