PROBLEMA Visual Studio Code - warnings

Marcus Aseth

Utente Attivo
353
112
Hardware Utente
Sistema Operativo
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
505
63
Hardware Utente
CPU
intel core i5 4430
Scheda Madre
2AF7
Hard Disk
ssd samsung 500gb
RAM
2x8 gb
Scheda Video
gtx 980
Monitor
samsung curvo
Alimentatore
corsair vs550
Sistema Operativo
windows 10
prova a risolvere il primo errore e poi dovrebbe darti l'altro
 

Marcus Aseth

Utente Attivo
353
112
Hardware Utente
Sistema Operativo
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"
 

Marcus Aseth

Utente Attivo
353
112
Hardware Utente
Sistema Operativo
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