source

Visual Studio 코드, #"Add include path to settings"라고 하는 포함

factcode 2022. 8. 24. 23:50
반응형

Visual Studio 코드, #"Add include path to settings"라고 하는 포함

Visual Studio Code에서 C/C++를 빌드하려고 합니다.C/C++ 및 관련된 모든 확장을 설치했습니다.

#include <stdio.h>
int main() {
    printf("Test C now\n");
    return 0;
}

하지만 녹색 선이 있어요#include <stdio.h>"설정에 포함 경로를 추가합니다." 라고 하다.c_cpp_properties.json은 c_cpp_properties.json입니다.

다음 구성에서 include paths를 추가하려면 어떻게 해야 합니까?

"configurations": [
    {
        "name": "Mac",
        "includePath": ["/usr/include"]
    }
]

Google에서 제외되는 모든 사용자를 위해 VSCode 1.40(2019)에 대한 수정 사항은 다음과 같습니다.

글로벌 설정을 엽니다.json : [ File ]> [ Preferences ]> [ Settings ]

글로벌 설정을 엽니다.json : [ File ]> [ Preferences ]> [ Settings ]

그런 다음 '사용자' 탭을 선택하고 '내선번호' 섹션을 열고 'C/C++'를 클릭합니다.그런 다음 '설정에서 편집'이 나타날 때까지 오른쪽 패널을 스크롤합니다.json' 버튼.

그런 다음 '사용자' 탭을 선택하고 '내선번호' 섹션을 열고 'C/C++'를 클릭합니다.

"C_Cpp.default.includePath" 입니다.여기에 제공된 코드는 내 시스템(Windows 7)에서 가져온 것입니다.패스의 할 수 이러한 라이브러리 패스는 해 주세요.YOUR USERNAME 윈도) 이름)에 합니다.
info : ( ) :.같은 않습니다.VSCode는 동일한 항목에 대해 여러 정의를 내리는 것을 좋아하지 않습니다.나는 그것을 로 해결했다."C_Cpp.intelliSenseEngine": "Tag Parser")

마지막으로 "C_Cpp.default.includePath" 섹션을 추가합니다.

settings.json은 arduino 또는 includePath와는 관계가 없습니다.따라 하면 안 돼...

설정에 추가할 JSON 섹션.json:

"C_Cpp.default.includePath": [
        "C:/Program Files (x86)/Arduino/libraries/**",
        "C:/Program Files (x86)/Arduino/hardware/arduino/avr/cores/arduino/**",
        "C:/Program Files (x86)/Arduino/hardware/tools/avr/avr/include/**",
        "C:/Program Files (x86)/Arduino/hardware/tools/avr/lib/gcc/avr/5.4.0/include/**",
        "C:/Program Files (x86)/Arduino/hardware/arduino/avr/variants/standard/**",
        "C:/Users/<YOUR USERNAME>/.platformio/packages/framework-arduinoavr/**",
        "C:/Users/<YOUR USERNAME>/Documents/Arduino/libraries/**",
        "${workspaceFolder}/libraries/**",
        "${workspaceFolder}/**"
    ],
"C_Cpp.intelliSenseEngine": "Tag Parser"

이 상황에 대한 좀 더 최근의 견해입니다.2018년 C++ 확장에 의해, 의 설정에 다른 옵션이 추가되었습니다.c_cpp_properties.json 파일

compilerPath임의)(「」) 프로젝트를 빌드하기 위해 사용하는 컴파일러의 절대 경로입니다.확장자는 컴파일러에 문의하여 IntelliSense에서 사용할 시스템 포함 경로 및 기본 정의를 결정합니다.

는, 「 」입니다.includePathIntelliSense는 컴파일러를 사용하여 시스템이 경로를 포함하는지 확인하기 때문에 필요하지 않습니다.


원래,

다음 구성에서 include paths를 추가하려면 어떻게 해야 합니까?

리스트는 문자열 배열이기 때문에 include 경로를 추가하면 다음과 같습니다.

"configurations": [
    {
        "name": "Mac",
        "includePath": ["/usr/local/include",
            "/path/to/additional/includes",
            "/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.11.sdk/usr/include"
        ]
    }
]

출처: cpptools 블로그 2016년 3월 31일.

링크된 소스에는 Win32 구성 형식을 나타내는 gif가 있지만 다른 소스에도 동일하게 적용됩니다.

위의 샘플에는 Xcode가 설치되어 있는 경우의 SDK(OSX 10.11) 경로가 포함되어 있습니다.

주의: 인크루드 경로가 변경되면 업데이트에 시간이 걸릴 수 있습니다.

여기서 cpptools 확장을 찾을 수 있습니다.

VSCode의 C++ 언어 지원에 대한 자세한 내용은 여기를 참조하십시오.


(논의에서) 보존을 위해 C++ 파일 또는 C 파일을 컴파일 및 실행하기 위한 tasks.json 파일의 내용에 대한 기본적인 스니펫을 다음에 나타냅니다. 따옴표는 ""을 사용하여 ).\"셸이 러너로 사용되므로 컴파일이 가능합니다.clang...예: ★★★★★★★★★★★★★★)&& ./a.out)를 참조해 주세요.또한 tasks.json이 로컬워크스페이스(디렉토리 .vscode 아래)에 「존재」하는 것을 전제로 하고 있습니다.지원되는 변수 등 task.json에 대한 자세한 내용은 여기를 참조하십시오.

C++의 경우

{ 
    "version": "0.1.0", 
    "isShellCommand": true, 
    "taskName": "GenericBuild", 
    "showOutput": "always", 
    "command": "sh", 
    "suppressTaskName": false, 
    "args": ["-c", "clang++ -std=c++14 -Wall -Wextra -pedantic -pthread \"${file}\" && ./a.out"]
}

C의 경우

{ 
    "version": "0.1.0", 
    "isShellCommand": true, 
    "taskName": "GenericBuild", 
    "showOutput": "always", 
    "command": "sh", 
    "suppressTaskName": false, 
    "args": ["-c", "clang -std=c11 -Wall -Wextra -pedantic -pthread \"${file}\" && ./a.out"] // command arguments... 
}

Xcode 대신 명령줄 도구만 사용하는 Mac 사용자의 경우/Library/Developer/CommandLineTools 렉 : ( : : 。

"configurations": [{
    "name": "Mac",
    "includePath": [
            "/usr/local/include",
            // others, e.g.: "/usr/local/opt/ncurses/include",
            "/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include",
            "${workspaceFolder}/**"
    ]
}]

다른 버전의 명령줄 도구가 설치되어 있는 경우 경로를 조정해야 할 수 있습니다.

주의: 다음 파일을 열거나 생성할 수도 있습니다.c_cpp_properties.json명령어 팔레트(⌘pP)에서 명령어를 사용하여 파일을 만듭니다.

사용자 설정에서 다음을 추가합니다.

"C_Cpp.default.includePath":["path1","path2"]

이 답변은 늦을지도 모르지만, 저는 우연히 문제를 해결했습니다.c_cpp_properties.json 파일은 다음과 같습니다.

{
"configurations": [
    {
        "name": "Linux",
        "includePath": [
            "${workspaceFolder}/**",                
            "/usr/include/c++/5.4.0/",
            "usr/local/include/",
            "usr/include/"
        ],
        "defines": [],
        "compilerPath": "/usr/bin/gcc",
        "cStandard": "c11",
        "cppStandard": "c++14",
        "intelliSenseMode": "clang-x64"
    }
],
"version": 4

}

c_cpp_properties.json 설정-

{
    "configurations": [
        {
            "name": "Win32",
            "compilerPath": "C:/MinGW/bin/g++.exe",
            "includePath": [
                "C:/MinGW/lib/gcc/mingw32/9.2.0/include/c++"
            ],
            "defines": [
                "_DEBUG",
                "UNICODE",
                "_UNICODE"
            ],
            "cStandard": "c17",
            "cppStandard": "c++17",
            "intelliSenseMode": "windows-gcc-x64"
       }
    ],
    "version": 4
}

최근 설치한 Visual Studio를 제거하여 이 문제를 해결했습니다.

은 "이렇게 하다"를 입니다.compilerPath의 속성c_cpp_properties.json include 를 system include paths에 되지 않습니다.includePath★★★★★★★★★★★★★★★★★★.

하지 c_cpp_properties.json입니다.C_Cpp.default.compilerPath★★★★★★ 。

정음음음 in in in in in in in in in in 。c_cpp_properties.json설정을 다음과 같이 변경합니다.

여기에 이미지 설명 입력

이렇게 해서 지금 하고 있어요. Configuration for c_cpp_properties.json

{
"configurations": [
    {
        "name": "Win32",
        "compilerPath": "C:/MinGW/bin/g++.exe",
        "includePath": [
            "C:/MinGW/lib/gcc/mingw32/9.2.0/include/c++"
        ],
        "defines": [
            "_DEBUG",
            "UNICODE",
            "_UNICODE"
        ],
        "cStandard": "c17",
        "cppStandard": "c++17",
        "intelliSenseMode": "windows-gcc-x64"
    }
],
"version": 4
  }

task.json configuration ★★

{
"version": "2.0.0",
"tasks": [
    {
        "type": "cppbuild",
        "label": "C/C++: g++.exe build active file",
        "command": "C:\\MinGW\\bin\\g++.exe",
        "args": [
            "-g",
            "${file}",
            "-o",
            "${fileDirname}\\${fileBasenameNoExtension}.exe"
        ],
        "options": {
            "cwd": "C:\\MinGW\\bin"
        },
        "problemMatcher": [
            "$gcc"
        ],
        "group": {
            "kind": "build",
            "isDefault": true
        },
        "detail": "compiler: C:\\MinGW\\bin\\g++.exe"
    }
]}

코드에도 ++ 러너 는 「」, 「」입니다.이것이 제가 이해한 것입니다.C/C++는 경로이다를 포함합니다.${workspaceFolder}/**워크스페이스 폴더에서 라이브러리 헤더 함수 파일을 재귀적인 하향식으로 검색합니다.이 경우 모든 라이브러리 헤더 함수 파일의 복사본을 모든 작업 폴더에 보관해야 합니다.아래에 나에게 효과가 있었던 솔루션을 적어두었습니다.

순서:1이 문제는, 에러가 발생하고 있는 구불구불한 선아래의 벌브를 오른쪽 클릭하고, 「경로 설정 편집」을 클릭하는 것만으로 해결할 수 있습니다.

순서:2 「경로 포함」섹션까지 스크롤 다운 해, 패스 값을 컴파일러 폴더에 추가해,/**모든 분기 폴더에서 재귀 검색을 사용하도록 설정합니다.어떤 이유로 라이브러리 헤더 파일이 다른 곳에 저장되어 있는 경우 해당 경로를 추가합니다.또한 헤더 파일이 저장된 폴더의 정확한 값을 추가하여 더 정확하게 지정할 수 있습니다.

끝! 이제 더 이상 꼬불꼬불한 선 오류가 발생하지 않아야 합니다!스위글리 라인은 이제 그만!

VS VS (1.48.1)입니다.이 답변은 IntelliSense 정보를 생성하지 않는 파일의 문제를 해결했습니다(질문에서와 같은 근본적인 문제).하지 않은 (IntelliSense 리셋)Ctrl+Shift+P → C/C++: Reset IntelliSense database안 맞았는데

에러)이 확인합니다., 「 에러」는 없습니다.#include이치노워크스페이스별 고객명>/).워크스페이스 디렉토리에 c_cpp_properties.json 파일을 생성하여 이 작업을 수행합니다(내 파일에는 아직 파일이 없는 것 같음). Ctrl+Shift+P → C/C++: Edit Configurations (JSON). 에 경로를 includePath문제가 있는 파일 및 포함된 모든 파일에 오류가 포함될 때까지 계속됩니다. 변수, 즉 '어울릴 수 없다'를 사용합니다.${workspaceFolder}워크스페이스의 루트 디렉토리를 참조합니다.그건 그렇고, 내 건 디폴트인데${workspaceFolder}/**includePath워크스페이스 폴더 전체를 재귀적으로 검색하여 포함 파일을 검색합니다.적어도 하나의 특정 파일에서는 작동하지 않았습니다. i i i i i i i i i i i i i i i i i i 。${workspaceFolder}VS 코드 、 [ VS Code ], [ VS Code ], [ VS Code ]를 선택합니다.표준 라이브러리 인크루드에는 문제가 없었습니다.따라서 이 답변은 이러한 문제를 다루지 않습니다.

모든 IntelliSense 정보가 올바르게 표시되기 전에 IntelliSense 데이터베이스를 다시 리셋하고 VS 코드를 재시작해야 할 수 있습니다.또한 파일을 찾는 데 도움이 되는 include 파일을 여는 데 도움이 되는 것 같습니다.계속 잘 됐으면 좋겠어요.아직까지는 좋아.

저는 MAC M1을 사용하고 있었는데 VS 코드를 사용하여 c++ 프로그램을 코드화하는 중에 이 오류가 발생했습니다.Mac에는 gcc가 아닌 주로 c++ 컴파일러가 미리 설치되어 있습니다.문제가 발생한 것은 <bits/stdc++>를 포함하려고 했기 때문입니다.h> 헤더. clang 컴파일러에서는 지원되지 않습니다.이 헤더는 gcc/g++ 컴파일러에서만 사용됩니다.그래서 (나의 경우처럼) 문제를 해결하기 위해.

  1. Xcode 가 인스톨 되어 있지 않은 경우는, 우선 인스톨 합니다.
  2. #include<bits/stdc++는 사용하지 마십시오.h> header. (이 헤더를 계속 사용하려면 homebrew를 사용하여 gcc 컴파일러를 설치하거나 stdc++.h 헤더를 생성하여 헤더 폴더에 붙여넣으면 됩니다.여기를 참조해 주세요.X코드에 <bits/stdc++>를 포함하려면 어떻게 해야 합니까?

언급URL : https://stackoverflow.com/questions/37522462/visual-studio-code-include-stdio-h-saying-add-include-path-to-settings

반응형