ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • ubuntu , VScode C환경 세팅
    Share 2024. 12. 4. 13:47

     

     

    참고

    https://swiftcam.tistory.com/388

     

    Ubuntu20.04에서 VSCode C/C++ 개발환경 구축하기

    참고자료 https://webnautes.tistory.com/1158 Visual Studio Code에서 C/C++ 프로그래밍( Windows / Ubuntu) Windows와 Ubuntu 환경에 설치된 Visual Studio Code에서 C/C++을 컴파일하고 실행시키는 방법에 대해 설명합니다. 테

    swiftcam.tistory.com


    1. 리눅스 필수 개발툴(컴파일도구등) 다운로드 

    sudo apt-get install build-essential

     

    gcc 컴파일러 세팅확인 

     

    2. vscode 에서, 

    c/c++ 관련 컴파일러 설치 

     

    터미널 - 작업구성 - 탬플릿에서 tasks.json 파일 만들기 -> others 

     

     

     

    ctrl + shift + P 로 편집 선택 

     

    컴파일러 선택 

    /usr/bin/gcc

     

    컴파일러 경로 

    linux-gcc-x64 

    그러면 c_cpp_properties.json 파일형태 저장확인 

     

    이제 tasks.json만듬

     

    tasks.json 

    {
        "version": "2.0.0",
        "runner": "terminal",
        "type": "shell",
        "echoCommand": true,
        "presentation" : { "reveal": "always" },
        "tasks": [
              //C++ 컴파일
              {
                "label": "save and compile for C++",
                "command": "g++",
                "args": [
                    "${file}",
                    "-o",
                    "${fileDirname}/${fileBasenameNoExtension}"
                ],
                "group": "build",
    
                //컴파일시 에러를 편집기에 반영
                //참고:   https://code.visualstudio.com/docs/editor/tasks#_defining-a-problem-matcher
    
                "problemMatcher": {
                    "fileLocation": [
                        "relative",
                        "${workspaceRoot}"
                    ],
                    "pattern": {
                        // The regular expression.
                      //Example to match: helloWorld.c:5:3: warning: implicit declaration of function 'prinft'
                        "regexp": "^(.*):(\\d+):(\\d+):\\s+(warning error):\\s+(.*)$",
                        "file": 1,
                        "line": 2,
                        "column": 3,
                        "severity": 4,
                        "message": 5
                    }
                }
            },
            //C 컴파일
            {
                "label": "save and compile for C",
                "command": "gcc",
                "args": [
                    "${file}",
                    "-o",
                    "${fileDirname}/${fileBasenameNoExtension}"
                ],
                "group": "build",
    
                //컴파일시 에러를 편집기에 반영
                //참고:   https://code.visualstudio.com/docs/editor/tasks#_defining-a-problem-matcher
    
                "problemMatcher": {
                    "fileLocation": [
                        "relative",
                        "${workspaceRoot}"
                    ],
                    "pattern": {
                        // The regular expression.
                      //Example to match: helloWorld.c:5:3: warning: implicit declaration of function 'prinft'
                        "regexp": "^(.*):(\\d+):(\\d+):\\s+(warning error):\\s+(.*)$",
                        "file": 1,
                        "line": 2,
                        "column": 3,
                        "severity": 4,
                        "message": 5
                    }
                }
            },
            // 바이너리 실행(Ubuntu)
            {
                "label": "execute",
                "command": "${fileDirname}/${fileBasenameNoExtension}",
                "group": "test"
            }
            // 바이너리 실행(Windows)
            // {
            //     "label": "execute",
            //     "command": "cmd",
            //     "group": "test",
            //     "args": [
            //         "/C", "${fileDirname}\\${fileBasenameNoExtension}"
            //     ]
       
            // }
        ]
    }

     

     

     

    c_cpp_properties.json 

    {
        "configurations": [
            {
                "name": "Linux",
                "includePath": [
                    "${workspaceFolder}/**"
                ],
                "defines": [],
                "compilerPath": "/usr/bin/gcc",
                "cStandard": "c17",
                "cppStandard": "c++14",
                "intelliSenseMode": "linux-gcc-x64",
                //"mergeConfigurations": false
            }
        ],
        "version": 4
    }

     

    4. 구조 

     

     

     

    끝 

    댓글

실험중인 삶, Life is not a race