Невозможно скомпилировать код SFML C ++ с g ++ из кода Visual Studio - PullRequest
0 голосов
/ 04 февраля 2019

Я пытаюсь скомпилировать некоторый код C ++ в Visual Studio Code, но я хочу использовать библиотеку SFML и по какой-то причине она просто не может найти мою библиотеку.Я использую расширение c / c ++, которое настроено следующим образом

{
"configurations": [
    {
        "name": "Win32",
        "includePath": [
            "${workspaceFolder}/**", "C:\\lib\\SFML\\include\\**"
        ],
        "defines": [
            "_DEBUG",
            "UNICODE",
            "_UNICODE"
        ],
        "compilerPath": "C:\\TDM-GCC-64\\bin\\g++.exe",
        "cStandard": "c11",
        "cppStandard": "c++17",
        "intelliSenseMode": "clang-x64"
    }
],
"version": 4}

, и я настроил задачу после этого другого вопроса , который дает мне что-то подобное

{
"version": "2.0.0",
"tasks": 
[
    {
        "label": "Compilation",
        "type": "shell",
        "group": "build",
        "command": "g++",
        "args": 
        [
            "main.cpp",
            "-o",
            "GUImeOfLife.exe",
            "-IC:C:\\lib\\SFML\\include\\SFML",
            "-LC:C:\\lib\\SFML\\lib",
            "-lsfml-graphics",
            "-lsfml-window",
            "-lsfml-system"
        ],
        "problemMatcher": "$gcc"
    }
],
"presentation": {
    "echo": true,
    "reveal": "always",
    "focus": false,
    "panel": "shared",
    "showReuseMessage": true,
    "clear": true
}}

Однако, когда я запускаю задачу для своего кода (просто пример кода с веб-сайта библиотеки SFML), я получаю это сообщение от компилятора:

Выполнение задачи: g ++ main.cpp -o GUImeOfLife.exe -IC: C: \ lib \ SFML \ include \ SFML -LC: C: \ lib \ SFML \ lib -lsfml-graphics -lsfml-window -lsfml-system

main.cpp: 1:24: фатальная ошибка: Graphics.hpp: компиляция такого файла или каталога не прекращена.Терминальный процесс завершается с кодом выхода: 1

(проблемная строка просто #include <Graphics.hpp>)

Что мне нужно изменить, чтобы заставить его работать?

Спасибо

1 Ответ

0 голосов
/ 04 февраля 2019

Из вашего файла конфигурации

"-IC:C:\\lib\\SFML\\include\\SFML",

Путь, который вы указали, имеет дополнительный и неправильный C: добавленный спереди.

Путь должен быть

"-IC:\\lib\\SFML\\include\\SFML",

Эта опечатка также является частью опции -L.

...