[Résolu] j'ai une erreur avec "#include " et "gcc (résolu)
Bonjour,
j'avais l'erreur "unable to open source file "SDL2/SDL.h". J'ai donc cherché sur google en vain 😑.
#include <SDL2/SDL.h>
En laissant ma souris sur #include qui était souligné en rouge, j'ai cliqué sur quick fix qui m'a ouvert, Configurations IntelliSense de C/C++.
J'ai ainsi vus que "${workspaceFolder}/**
permet d'effectuer une recherche parmi tous les sous-répertoires ".
Je ne sais pas si workspaceforlder est considéré comme mon dossier Monprojet ou s'il est considéré comme mon dossier src.
Je lui ai donc donné le chemin(allez maman te prend la main c'est part la ) "D:\Monprojet\include" dans "Explorer", cela a résolu mon problème
(les deux pages superposés en haut a gauche au-dessus de la loupe ou Ctrl+Shift+E).
J'ai donc lancé la commande
gcc src/main.c -Iinclude -Llib -lmingw32 -lSDL2main -lSDL2 -o monprogramme
mais il n'a pas trouvé le chemin simplement car mon Windows est sur mon ssd c/:, j'ai donc lancer la commande
cd D:\Monprojet
et voilà ça marche .😁
S'il ne crée pas d'exe c'est parce que l'appel de gcc a échoué et il y a donc une erreur affichée qu'il faut lire et comprendre.
Dans ton exemple
gcc: error: src/gc2d/gc2d_graphics.c: No such file or directory
Juste sûrement tu ne lances pas le .bat depuis le bon répertoire et tu n'as pas regardé mes cours. Le .bat est prévu pour être dans un répertoire, seul, aux côté des sources dans un sous répertoire "src".
Si ton arborescence est différente il suffit de changer les chemins dans le .bat.
CD .. permet de remonter d'un niveau
Il te faut apprendre le shell c'est indispensable. On ne survit pas sans ça <3.
J'ai commencé et fini les deux cours "Programmation C" en 1er,
car je connais déjà les notion de base, mots réserver (pas tous), agrémentation les operateur les flag ...
Vus que je cible le C je me suis naturellement lancer sur les cours en C .
Pour ce qui est du .bat je l'ai placer au coter des dossiers "src" "lib" "bin" "include".
J'ai du faire une mauvaise manip la 1er fois, mais actuellement le .bat sans le modifier marche très bien 👍
merci je ne savais pas que le shell étais si importent a connaitre, j'y vais de ce pas !
Par contre en relancent mon main.c j'ai toujours le problème avec:
#include <SDL2/SDL.h>
Alors que dans le dossier .vscode le fichier c_cpp_properties contient bien mes modification, mais quand je clic sur fix quick j'ai celui part défaut et vois bien les deux dans l'exploreur.
comment je peux fixer ça sans refaire la manipulation a chaque fois merci . 🤔
ps: mon programme ce lance même avec le bug "#include <sdl2/sdl.h>" vus que cela a crée le .ex
Je t'avoue que je fuis comme la peste toute automatisation.
Si tu fais ton arborescence avec ton main.c puis un sous rep "include", et que tu lances gcc depuis le répertoire de ton main, tout fonctionne.
En passant par VSCode tu ne maîtrises pas depuis quel répertoire il exécute la commande du terminal, d'où ton problème à mon avis.
Ma méthode, c'est de passer par un build.bat à l'ancienne (attaché ici, et à adapter à tes besoins).
David Merci pour le .bat étant un néophyte dans cette univers qui est la programmation, je n'ai pas réussi a edit le.bat pour qu'il me lance la démo.
Il supprimait bien le .exe mais sans m'en refaire un, j'ai donc voulu retirer le <del .\monprogramme.exe>, mais cela a cassait le .bat.
Pour refaire les test du .bat j'ai du relancer VScode pour avoir un exécutable après plusieurs essai non concluant, j'ai donc simplement mis un dossier bin avec le .dll dedans et en lançant le .bat sans le modifier.
Ça a marche en me pliant au chemin donner dans le .bat 😐
ps: J'ai bien compris ce que faisait le .bat hormis le 5eme ligne <cd . .> je suis pas sur mais pour moi elle fait un <cd Monprojet/bin >
voici le résulta :
D:\Monprojet>del .\monprogramme.exe Impossible de trouver D:\Monprojet\monprogramme.exe D:\Monprojet>gcc -g src/main.c src/gc2d/gc2d_graphics.c -Iinclude -Llib -lmingw32 -lSDL2main -lSDL2 -lSDL2_image -mconsole -o bin/monprogramme gcc: error: src/gc2d/gc2d_graphics.c: No such file or directory D:\Monprojet>cd .\bin D:\Monprojet\bin>.\monprogramme.exe Start
bonjour je reviens pour update tous ça :
pour le problème de soulignage #include <SDL2/SDL.h>, il suffi de lance avec un clic droit dans le dossier du projet "ouvrir avec code".
Pour ma part dans D:\Monprojet - clic droit "ouvrir avec code"
et pour le build.bat retiré la 1er ligner comme précédemment mais cela fonction (bon j'avous tout je l'ai mis dans du riz le .bat 🤡 )
- 6 Forums
- 244 Sujets
- 870 Posts
- 0 En ligne
- 45.5 {numéro}K Membres