Maison >développement back-end >C++ >Pourquoi mon projet C multi-fichiers ne sera-t-il pas intégré au code VS ?
Lorsqu'ils travaillent avec des projets C multi-fichiers dans VS Code, les utilisateurs peuvent rencontrer des erreurs de construction liées à des fichiers manquants. fichiers sources. Un scénario courant est celui où le compilateur ne parvient pas à localiser un fichier .cpp spécifique, bien que le fichier d'en-tête correspondant soit accessible.
Description du problème :
L'utilisateur ne parvient pas à créez un programme C composé de plusieurs fichiers .cpp à l'aide du compilateur GCC dans VS Code sur Ubuntu 17.10. Le programme se compile sans problème dans d'autres IDE, mais la configuration tâches.json dans VS Code semble être à l'origine du problème.
Comprendre la configuration tâches.json :
Le Le fichier task.json est utilisé pour définir des tâches pour VS Code, y compris les tâches de construction. Dans le cas donné, le fichier task.json définit une seule tâche de build intitulée « Build ». La tâche utilise une commande GCC qui compile uniquement le fichier main.cpp, en omettant le fichier Cat.cpp.
Résolution du problème :
Pour rectifier cela, l'utilisateur doit modifier la configuration Tasks.json pour demander au compilateur d'inclure tous les fichiers .cpp dans le processus de construction. L'extrait de code suivant doit être ajouté au fichier tâches.json :
"label": "g++.exe build active file", "args": [ "-g", "${fileDirname}\**.cpp", "-o", "${fileDirname}\${fileBasenameNoExtension}.exe", ],
Cette configuration indique au compilateur d'inclure tous les fichiers .cpp dans le répertoire actuel et ses sous-répertoires en utilisant le modèle global "**.cpp ."
Configuration du lancement :
Pour garantir que la tâche de pré-construction est exécutée avant En lançant le programme, ajoutez la ligne suivante à la configuration launch.json :
"preLaunchTask": "g++.exe build active file"
Notes supplémentaires :
Si les fichiers sources sont organisés dans des dossiers séparés, le le compilateur peut toujours être incapable de les localiser. Dans de tels cas, assurez-vous que les chemins d'inclusion appropriés sont spécifiés dans les paramètres du projet.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!