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 답변
-
환경 변수 설정이 덜 되어서 발생하는 문제입니다.
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
명령을 통해 할 수 있습니다.
댓글 입력