Visual studio code C/C++ 컴파일 에러 C1034: iostream: 포함 경로를 설정하지 않았습니다.

조회수 3667회

VSCode로 C++을 작성하려고 Visual studio build tools에서 Visual C++ 빌드 도구를 설치하고 환경 변수 설정 후 빌드를 눌러보니

> Executing task: cl.exe /Zi /EHsc /Fe: c:\Users\Administrator\Desktop\C++\hello.exe c:\Users\Administrator\Desktop\C++\hello.cpp <


Microsoft (R) C/C++ 최적화 컴파일러 버전 19.26.28806(x64)
Copyright (c) Microsoft Corporation. All rights reserved.

hello.cpp
c:\Users\Administrator\Desktop\C++\hello.cpp(1): fatal error C1034: iostream: 포함 경로를 설정하지 않았습니다.
터미널 프로세스가 종료 코드 1(으)로 종료되었습니다.

이렇게 출력되면서 문제가 생기는데 뭐가 문제인지 모르겠습니다.


{
    "version": "2.0.0",
    "tasks": [
        {
            "type": "shell",
            "label": "C/C++: cl.exe build active file",
            "command": "cl.exe",
            "args": [
                "/Zi",
                "/EHsc",
                "/Fe:",
                "${fileDirname}\\${fileBasenameNoExtension}.exe",
                "${file}"
            ],
            "options": {
                "cwd": "${workspaceFolder}"
            },
            "problemMatcher": [
                "$msCompile"
            ],
            "group": "build"
        }
    ]
}

1 답변

  • 좋아요

    1

    싫어요
    채택 취소하기

    환경 변수 설정이 덜 되어서 발생하는 문제입니다.

    C++를 빌드하기 위한 환경 변수를 VsDevCmd.bat에서 자동으로 설정해 줍니다. cl.exe 명령을 입력하기 전에 실행 하면되는데 아래 처럼 태스크를 작성하면 됩니다.

    {
        "type": "shell",
        "label": "C/C++: cl.exe build active file",
        "command": "%BUILD%",
        "args": [
            "/Zi",
            "/EHsc",
            "/Fe:",
            "${fileDirname}\\${fileBasenameNoExtension}.exe",
            "${file}"
        ],
        "options": {
            "cwd": "${workspaceFolder}",
            "env": {
                "PATH": "${env:PATH};C:\\Program Files (x86)\\Microsoft Visual Studio\\2019\\Community\\Common7\\Tools",
                "BUILD": "VsDevCmd.bat && cl.exe"
            }
        },
        "problemMatcher": [
            "$msCompile"
        ],
        "group": {
            "kind": "build",
            "isDefault": true
        }
    }
    

    여기서 C:\\Program Files (x86)\\Microsoft Visual Studio\\2019\\Community\\Common7\\Tools는 개발 환경에 따라 VsDevCmd.bat이 위치한 경로로 바꾸어 주시면 됩니다.


    개인적으로 cl.exe를 바로 이용하는 방법은 좋은 방법이라고 생각하지 않습니다. C++의 진입장벽이 높은 이유중 하나가 빌드 시스템이 통일 되지 않고 파편화 되있는 점입니다. 동일한 소스 코드를 빌드하기 위해서 OS 별로 툴체인 별로 다른 명령어를 써야 한다는 것이 참으로 난감합니다.

    이러한 문제를 해결하기 위한 방법이 여러있으며, 그 중 CMake가 있습니다.

    Visual Studio Code 에서는 CMake Tools확장을 사용할 수 있고, CMakeLists.txt 파일을 아래와 같이 작성하면, 같은 디레토리 내의 main.cpp 파일로 작성된 myprogram이란 이름의 실행 파일을 구성합니다.

    cmake_minimum_required(VERSION 3.4)
    add_executable(myprogram main.cpp)
    

    Visual Studo Code에서 최초 한번 >cmake configure 명령을 실행합니다.

    이미지

    구성 명령이 성공하며 앞으로 빌드를 위해 F7 키나 >cmake build 명령을 통해 빌드할 수 있습니다.

    이미지

    디버깅은 Ctrl + F5 또는 >cmake debug 명령을 통해 할 수 있습니다.

답변을 하려면 로그인이 필요합니다.

프로그래머스 커뮤니티는 개발자들을 위한 Q&A 서비스입니다. 로그인해야 답변을 작성하실 수 있습니다.

(ಠ_ಠ)
(ಠ‿ಠ)