Communauté

j'ai une erreur ave...
 
Notifications
Retirer tout

[Résolu] j'ai une erreur avec "#include " et "gcc (résolu)

6 Posts
2 Utilisateurs
1 Reactions
1,138 Vu
0
Début du sujet

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 .😁

 

5 Réponses
0

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.

1
Début du sujet

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 !

0
Début du sujet

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 

0

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).

0
Début du sujet

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 
DoGoof Début du sujet 26/10/2022 3:57

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 🤡 )

Répondre
Share:

Dialoguez avec les autres membres de la gamecodeur school.

Accédez maintenant à notre serveur Discord privé : Entraide, Game Jams, Partage de projets, etc.

Vous devez être membre de la Gamecodeur School Premium pour être autorisé à accéder au serveur.