Как настроить VS Code для сборки и компиляции C ++ с помощью Control-Shift-B? - PullRequest
0 голосов
/ 20 марта 2020

В C ++ в VSCode я написал программу, и когда мне захотелось ее настроить, я создал и настроил файл c_cpp_properties и запустил. json файл, а затем control-shift-b d и тот, кто его создал (создал двоичный файл) а затем в интегрированном терминале мне пришлось ./( thebinaryfile) для его запуска. Какой код я должен вставить в задачи. json, c_cpp_properties, чтобы он не только собирался, но и запускался, когда я нажимал Control-shift + b? Из какого JSON файла я могу изменить команду для выполнения и какой код мне добавить / заменить? Я прочитал все предоставленные MS документы и Googled, но все еще путаюсь.

Мои c_cpp_properties. json Файл https://pastebin.com/90RLnf5S.

    {
    "configurations": [
        {
            "name": "Mac",
            "includePath": [
                "/usr/local/include", "/Users/me/Downloads/SFML-2.5.1-macos-clang/include"
            ],
            "defines": [],
            "macFrameworkPath": [
                "/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks"
            ],
            "compilerPath": "/usr/bin/clang++",
            "cStandard": "c11",
            "cppStandard": "c++17",
            "intelliSenseMode": "clang-x64"
        }
    ],
    "version": 4
}

Мои задачи. json файл https://pastebin.com/m9x3nFqq

    {
    "version": "2.0.0",
    "tasks": [
        {
            "label": "echo",
            "type": "shell",
            "command": "echo Hello"
        },
        {
            "type": "shell",
            "label": "clang++ build active file",
            "command": "/usr/bin/clang++",
            "args": [
                "-g",
                "${file}",
                "-o",
                "${fileDirname}/${fileBasenameNoExtension}",
                "-I/Users/me/Downloads/SFML-2.5.1-macos-clang/include",
                "-L/Users/me/Downloads/SFML-2.5.1-macos-clang/lib",
                "-lsfml-graphics",
                "-lsfml-window",
                "-lsfml-system",
                "-lsfml-audio"
            ],
            "options": {
                "cwd": "/usr/bin"
            },
            "problemMatcher": [
                "$gcc"
            ],
            "group": "build"
        },
        {
            "type": "shell",
            "label": "clang build active file",
            "command": "/usr/bin/clang++",
            "args": [
                "-g",
                "${file}",
                "-o",
                "${fileDirname}/${fileBasenameNoExtension}"
            ],
            "options": {
                "cwd": "/usr/bin"
            }
        }
    ]
}

Мой код https://pastebin.com/smZVfitp.

    #include <SFML/Graphics.hpp>

int main()
{
    sf::RenderWindow window(sf::VideoMode(200, 200), "SFML works!");
    sf::CircleShape shape(100.f);
    shape.setFillColor(sf::Color::Green);

    while (window.isOpen())
    {
        sf::Event event;
        while (window.pollEvent(event))
        {
            if (event.type == sf::Event::Closed)
                window.close();
        }

        window.clear();
        window.draw(shape);
        window.display();
    }

    return 0;
}
...