Parler de l'environnement de compilation C ++ de configuration VScode


J'ai utilisé VS pour terminer le travail d'édition et de débogage de code sous la recommandation du senior du laboratoire auparavant, mais j'ai appris que pour la fonction de compilation de documents, VS ne prend en charge que la compilation multi-fichiers sous Windows et ne peut pas terminer le travail sous le système Urbanu. Passez à l'apprentissage de l'utilisation de VScode.
Dans cet article, l'auteur partagera une certaine expérience dans le processus d'installation et de débogage de VScode et de configuration de l'environnement de compilation C ++ au cours des derniers jours. D'une part, j'espère apporter une aide aux lecteurs, et d'autre part, Je vais m'aider moi-même dans le futur processus de configuration et revoir la fosse piétinée précédente.

Téléchargement de VScode

Concernant le téléchargement de VScode, l'auteur l'a téléchargé directement depuis son site officiel, puis a suivi le processus de téléchargement normal pour l'installer étape par étape.
Site officiel de VScode

Installation de MinGW

Qu'est-ce que MinGW?
MinGW fournit un environnement de développement de programme basé sur GCC simple et pratique sous Windows. MinGW rassemble une série de fichiers d'en-tête et de bibliothèques Windows gratuits; il intègre également les ensembles d'outils GNU (http://www.gnu.org/), en particulier les outils de développement de programmes GNU, tels que les classiques gcc, g ++, make Wait. MinGW est un logiciel entièrement gratuit et gratuit. Il simule l'environnement de développement de GCC sous Linux sur la plate-forme Windows et fournit un bon support de base pour le développement multiplateforme de C ++. Il est fourni aux programmeurs travaillant sous Windows pour se familiariser avec l'ingénierie C ++ organisation sous Linux.
Compréhension simple, MinGW fournit un environnement de compilation C / C ++ pour le système Windows.
Voici la différence entre VS et VScode. VScode est en fait un "document texte". Le VScode qui vient d'être téléchargé n'a que des fonctions d'édition de texte, tandis que VS a de nombreuses fonctions telles que l'édition de texte, la compilation de code, l'exécution et le débogage, mais correspondant , VS est également très grand, donc VScode est nettement meilleur que VS en termes de commodité.
Mais cela signifie également que si vous voulez que VScode ait une variété de fonctions, vous devez effectuer plus de travail de configuration.
L'installation spécifique de MinGW implique également la configuration de variables d'environnement, etc. Pour des opérations spécifiques, reportez-vous à cet article:

https://blog.csdn.net/qq_43041976/article/details/100542557

Notez que le chemin d'installation de MinGW doit être clair, qu'il s'agisse de configurer des variables d'environnement ou de configurer l'environnement de compilation, vous devez utiliser son adresse.
L'emplacement d'installation de l'auteur

Que sont les variables d'environnement

Les variables d'environnement font généralement référence à certains paramètres utilisés dans le système d'exploitation pour spécifier l'environnement d'exploitation du système d'exploitation, tels que l'emplacement du dossier temporaire et l'emplacement du dossier système.
Une variable d'environnement est un objet avec un nom spécifique dans le système d'exploitation et contient des informations qui seront utilisées par une ou plusieurs applications. Par exemple, la variable d'environnement de chemin dans les systèmes d'exploitation Windows et DOS. Lorsque le système doit exécuter un programme sans lui indiquer le chemin complet où se trouve le programme, le système doit rechercher le programme dans le répertoire actuel, puis aller au chemin spécifié dans le chemin. Les utilisateurs peuvent mieux exécuter le processus en définissant des variables d'environnement.
Ici, j'ai pensé à la nécessité d'ajouter le fichier .h appelé à un emplacement spécifique dans le processus de débogage des microcontrôleurs STM32 et MK66, afin que le compilateur puisse trouver le fichier, qui peut être similaire aux variables d'environnement de configuration ici.
Emplacement de configuration de la variable d'environnement
L'emplacement de la variable d'environnement est: ces propriétés de l'ordinateur-paramètres système avancés-variables d'environnement avancées-variables système-chemin

Composition de petit projet C ++

Combiné à l'expérience de configuration réelle de l'auteur, si vous souhaitez exécuter un programme C ++ dans VScode, vous devez au moins disposer des composants suivants:

  1. Dossier de projet
  2. Un dossier nommé .vscode
  3. Un fichier de suffixe cpp
  4. fichier c_cpp_properties.json
  5. fichier launch.json
  6. fichier tasks.json

L'auteur a complètement utilisé la nouvelle méthode pour terminer la création de ces fichiers. Une fois terminé, la structure du projet présentée dans la figure suivante apparaîtra dans l'explorateur sur le côté gauche de l'interface VScode:
Projet minimal C ++ dans VScode
Lors de la mise en place du projet, j'ai d'abord créé un dossier nommé VSCODE_TEST, un fichier nommé helloWorld.cpp est créé dans ce dossier, un dossier nommé .vscode est créé en même temps et trois fichiers json sont créés dans ce dossier .vscode.
Le fichier .exe illustré dans la figure est un fichier en cours d'exécution généré automatiquement par le projet après une compilation réussie.

Code dans les fichiers cpp et json

  1. Fichier cpp Le fichier
    cpp est le fichier dans lequel nous écrivons la fonction principale. Dans ce fichier, nous n'avons besoin que de compléter le code C ++ le plus basique. Cette fois, j'ai utilisé pour imprimer "I love SLAM" pour tester si le projet fonctionne normalement.
#include <iostream>
using namespace std;

int main()
{
    
    

    cout<<"我爱SLAM"<<endl;
    
    system("pause");
    return 0;
}
  1. c_cpp_properties.json
    Ce fichier est l'un des fichiers importants pour la compilation et l'exploitation. Il implique l'écriture de plusieurs adresses de fichier MinGW. L'acquisition de ces adresses est mentionnée dans l'article précédent. La première adresse doit être modifiée en fonction de l'adresse réelle , et le reste Il peut être directement généré en saisissant des instructions via la fenêtre "Exécuter".
{
    
    
    "configurations": [
        {
    
    
            "name": "Win32",
            "includePath": [
                "${workspaceRoot}",
                "E:/MinGW/mingw64/include/**",
                "E:/MinGW/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++",
                "E:/MinGW/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/x86_64-w64-mingw32",
                "E:/MinGW/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/backward",
                "E:/MinGW/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/8.1.0/include",
                "E:/MinGW/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/8.1.0/include-fixed",
                "E:/MinGW/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/8.1.0/../../../../x86_64-w64-mingw32/include"
            ],
            "defines": [
                "_DEBUG",
                "UNICODE",
                "__GNUC__=6",
                "__cdecl=__attribute__((__cdecl__))"
            ],
            "intelliSenseMode": "msvc-x64",
            "browse": {
    
    
                "limitSymbolsToIncludedHeaders": true,
                "databaseFilename": "",
                "path": [
                    "${workspaceRoot}",
                    "E:/MinGW/mingw64/include/**",
                    "E:/MinGW/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++",
                    "E:/MinGW/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/x86_64-w64-mingw32",
                    "E:/MinGW/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/backward",
                    "E:/MinGW/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/8.1.0/include",
                    "E:/MinGW/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/8.1.0/include-fixed",
                    "E:/MinGW/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/8.1.0/../../../../x86_64-w64-mingw32/include"
                ]
            }
        }
    ],
    "version": 4
}
  1. launch.json
{
    
    
    // 使用 IntelliSense 了解相关属性。 
    // 悬停以查看现有属性的描述。
    // 欲了解更多信息,请访问: https://go.microsoft.com/fwlink/?linkid=830387
    "version": "0.2.0",
    "configurations": [
        {
    
    
            "name": "g++.exe - 生成和调试活动文件",
            "type": "cppdbg",                       // 只能是cppdbg
            "request": "launch",                    // launch:启动,attach:附加
            "program": "${fileDirname}\\${fileBasenameNoExtension}.exe",    // 需要调试的程序
            "args": [],                             // 调试时传递给程序的参数
            "stopAtEntry": false,                   // 调试时是否停在程序入口:{true:是,false:否}
            "cwd": "${workspaceFolder}",            // 工作目录
            "environment": [],                      // 额外的环境变量
            "externalConsole": true,                // true:输出到外部终端;false:只输出到软件终端(有显示不全的可能)
            "MIMode": "gdb",
            "miDebuggerPath": "E:\\MinGW\\mingw64\\bin\\gdb.exe", // 调试gdb路径
            "setupCommands": [                      // 暂时不知道作用
                {
    
    
                    "description": "为 gdb 启用整齐打印",
                    "text": "-enable-pretty-printing",
                    "ignoreFailures": true
                }
            ],
            "preLaunchTask": "C/C++: g++.exe build active file" // 预编译任务名称,和tasks.json中的label必须相同
        }
    ]
}

Les fonctions de certaines instructions de ce document ont été indiquées dans les commentaires. Notez que vous devez également modifier l'adresse de gdb.exe en conjonction avec votre propre MinGW.

  1. tâches.json
{
    
    
    "tasks": [
        {
    
    
            "type": "shell",
            "label": "C/C++: g++.exe build active file",
            "command": "E:\\MinGW\\mingw64\\bin\\g++.exe",
            "args": [
                "-g",
                "${file}",
                "-o",
                "${fileDirname}\\${fileBasenameNoExtension}.exe"
            ],
            "options": {
    
    
                "cwd": "${workspaceFolder}"
            },
            "problemMatcher": [
                "$gcc"
            ],
            "group": {
    
    
                "kind": "build",
                "isDefault": true
            }
        }
    ],
    "version": "2.0.0"
}

Notez également que vous devez modifier vous-même l'adresse de g ++. Exe.

Exécutez le programme

Une fois le travail ci-dessus terminé, dans l'interface du fichier cpp (je ne sais pas pourquoi c'est dans ce fichier, sinon une erreur sera signalée), cliquez sur l'interface d'exécution (un petit bogue) à gauche, et cliquez sur Exécuter le programme pour exécuter le programme. Le résultat de l'opération est montré dans la figure:
résultat de l'opération
Ici, parce que le fichier launch.json est défini sur "externalConsole": true, une boîte noire de programme en cours d'exécution peut apparaître. Si elle est définie sur false, elle sera sortie et imprimée dans le "terminal" ci-dessous.
De plus, lors de la sortie de caractères chinois, des caractères déformés peuvent apparaître. L'auteur se réfère à la méthode de réglage obtenue par Baidu pour réaliser l'affichage normal des caractères chinois. La méthode spécifique consiste à réinitialiser la région et à cocher un endroit.
Voir l'article pour le processus spécifique:

https://blog.amahv.cn/2020/06/24/vscode-shu-chu-chuang-kou-zhong-wen-luan-ma/

post-scriptum

Il n'y a aucune mention de l'utilisation de plug-ins VScode, et certaines procédures d'installation spécifiques, et l'utilisation de cmake n'a pas été mentionnée.Les lecteurs sont invités à vérifier le partage des autres internautes, et ils y gagneront certainement beaucoup.
Dans le processus de configuration de VScode cette fois, j'ai d'abord ressenti sa complexité et son élégance.Plus tard, lors de sa configuration sous le système Urbanu, il devrait y avoir un autre article de synthèse.

Merci pour la lecture!
Insérez la description de l'image ici

Je suppose que tu aimes

Origine blog.csdn.net/qq_41883714/article/details/109137703
conseillé
Classement