PROBLEMA Visual Studio Code - warnings

Marcus Aseth

Utente Attivo
404
138
OS
Windows 10
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:

fabio1999ita

Utente Attivo
550
65
CPU
Ryzen 7 5800x
Dissipatore
Corsair iCUE H150i ELITE CAPELLIX
Scheda Madre
Asus b505-e
HDD
ssd samsung 500gb
RAM
2x16 3600mhz
GPU
rtx 3080ti
Monitor
samsung curvo
PSU
FOCUS GX-850
Case
Corsair iCUE 5000X
Net
2.5gbit/s
OS
windows 10
prova a risolvere il primo errore e poi dovrebbe darti l'altro
 

Marcus Aseth

Utente Attivo
404
138
OS
Windows 10
Come puoi vedere dall'immagine sotto, non sta rilevando problemi di narrowing conversion:

qQrpZSz.png
 

Marcus Aseth

Utente Attivo
404
138
OS
Windows 10
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
 

Marcus Aseth

Utente Attivo
404
138
OS
Windows 10
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:

Entra

oppure Accedi utilizzando
Discord Ufficiale Entra ora!