PROBLEMA Visual Studio Code - warnings

Pubblicità

Marcus Aseth

Utente Attivo
Messaggi
408
Reazioni
138
Punteggio
60
Salve gente, stavo provando Visual Studio Code e per forza di cose ho dovuto mettere mano per la prima volta a .json files e flags, il file task.json e settato in questo modo qua:

Codice:
{
    "version": "2.0.0",
    "tasks": [
        {
            "label": "build",
            "type": "shell",
            "command": "g++",
            "args": [
                "-g", "-Wall", "main.cpp", "-o main"
            ],
            "group": {
                "kind": "build",
                "isDefault": true
            },
            "problemMatcher":"$gcc"
        }
    ]
}

E funziona nel senso che rileva errori come ad esempio una funzione con return nella signature che però non ritorna nulla, se ho capito bene grazie alla flag -Wall.
Il problema che ho è che non mi dà warnings per le narrowing conversion, ad esempio assegnare un double ad un int, quindi mi domandavo, esiste una flag al riguardo? :S

Inoltre, conoscete qualche buon video tutorial su youtube che mi può dare un'infarinatura generale su file .json, compilare in questo modo qua tramite flags (fino ad ora avevo sempre soltanto premuto un tasto dentro visual studio... :| ) cosa è MinGW e perchè ho dovuto installarlo... e altre robe simili delle quali al momento non ho un'idea molto chiara
 
Ultima modifica:
Come puoi vedere dall'immagine sotto, non sta rilevando problemi di narrowing conversion:

qQrpZSz.png
 
Dopo 4 ore con google, finalmente ci sono arrivato =_= xD

Immagine sotto.
Se qualcun altro volesse copiare il mio setup, ecco i file:

task.json
Codice:
{
    // See https://go.microsoft.com/fwlink/?LinkId=733558
    // for the documentation about the tasks.json format
    "version": "2.0.0",
    "tasks": [
        {
            "label": "build",
            "type": "shell",
            "command": ".vscode/build.bat",
            "args": [],
            "group": {
                "kind": "build",
                "isDefault": true
            },
            "problemMatcher":"$msCompile"
        }
    ]
}

launch.json
Codice:
{
    // Usare IntelliSense per informazioni sui possibili attributi.
    // Al passaggio del mouse vengono visualizzate le descrizioni degli attributi esistenti.
    // Per ulteriori informazioni, visitare: https://go.microsoft.com/fwlink/?linkid=830387
    "version": "0.2.0",
    "configurations": [
        {
            "name": "(Windows) Launch",
            "type": "cppvsdbg",
            "request": "launch",
            "preLaunchTask": "build",
            "program": "${workspaceFolder}/main.exe",
            "args": [],
            "stopAtEntry": false,
            "cwd": "${workspaceFolder}",
            "environment": [],
            "externalConsole": true
        }
    ]
}

build.bat
Codice:
@echo off
call "Z:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Auxiliary\Build\vcvarsall.bat" x64

cl /W4 /EHsc "Z:\Asus\Documenti\VS Code\Projects\Test\main.cpp" /link /out:"Z:\Asus\Documenti\VS Code\Projects\Test\main.exe"

v0P0BFG.png
 
Adesso ho il build.bat settato un pò meglio e quindi sono riuscito ad aprire una finestra con SDL, lascio qua sotto il contenuto del .bat nel caso torni utile a qualcuno (di sicuro a me in futuro... xD )

Codice:
@echo off
call "Z:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Auxiliary\Build\vcvarsall.bat" x86

set INC_PROJECT_PATH="Z:\Asus\Documenti\VS Code\Projects\Packman Clone 1"
set INC_SDL_PATH="Z:\Dependencies\SDL2-2.0.5\SLD2"

set SOURCE1_PATH="Z:\Asus\Documenti\VS Code\Projects\Packman Clone 1\source\*.cpp"
set SOURCE2_PATH="Z:\Asus\Documenti\VS Code\Projects\Packman Clone 1\Engine\*.cpp"

set LIB_SDL_PATH="Z:\Dependencies\SDL2-2.0.5\lib\x86"
set OUTPUT_PATH="Z:\Asus\Documenti\VS Code\Projects\Packman Clone 1\Debug\Pacman.exe"

cl /std:c++latest /W4 /ZI ^
/I %INC_SDL_PATH% /I %INC_PROJECT_PATH% ^
/EHsc %SOURCE1_PATH% %SOURCE2_PATH% ^
/link /SUBSYSTEM:CONSOLE ^
/LIBPATH:%LIB_SDL_PATH% SDL2main.lib SDL2.lib ^
/out:%OUTPUT_PATH%
 
Ultima modifica:
Pubblicità
Pubblicità
Indietro
Top