Partage
  • Partager sur Facebook
  • Partager sur Twitter

Compiler en c c++ avec GCC sous windows

4 novembre 2009 à 21:48:24

Bonjour


Je ne sais pas si il y'a déjà un topic sur la chose,mais je n'en ai pas trouver,et vu que j'avais un peu galérer un peu il y'a quelques temps(années?)
C'est juste histoire de pouvoir filer un coup de main à ceux qui voudrait compiler et exécuter leurs programmes avec un simple éditeur de texte comme blocnote ou notepad++ et un compilateur.



Donc



Pour commencer direction le site web.

mingw.org

Section downloads.

MinGw 5.1.6

Sauvegarder le fichier ou bon vous semble.Lancer le.
Si vous souhaitez juste coder en c ,installer le seulement.
Si vous souhaiter coder en c++ java ada etc...faites download et install.
Des dossiers avec les différents outils librairies et makefile pour les différents langages seront ajouter dans ce même dossier.


Maintenant,la partie configuration(rien de compliqué je vous rassure).


Sous windows xp:


1:Clique droit sur poste de travail et propriété.
2:Paramètre système avancé
3:variables d'environnements
4:variables système
5:Chercher "PATH" et modifier.Ou en créer un nouveau.
Aller à la fin de la ligne et rajouter ";c:\mingw\bin" sans les guillemets.




Sous Windows Vista/Seven



1:Clique droit ordinateur et propriété
2:Paramètre système avancé
3:variables d'environnement
4:variables système.
5:Chercher "PATH" et modifier les variables d'environnement.Ou en créer un nouveau.

Aller à la fin de la ligne et rajouter ";c:\mingw\bin" sans les guillemets.


Voilà



On va tester un bout de code classique pour vérifier l'installation.


//essai du code c sous gcc et windows
#include <stdio.h>
#include<stdlib.h>

int main()
{
	printf("Test d'un bout de code en  C\n");
	getchar;
	return 0;
 }






Enregistrer votre fichier dans un répertoire pour tester votre code.


Ouvrez une fenêtre MSDOS(taper exécuter et cmd au cas ou sous windows xp)
Placer vous dans votre répertoire avec cd et dir de votre dossier et chercher votre fichier en l'occurrence fichier.c pour du code en c ou bien fichier.cpp pour du code en c++.
(Je vous conseille de mettre votre dossier dans le bureau pour éviter de chercher votre dossier pendant des heures XD,ou dans un dossier spécifique aux fichiers.)

Ensuite taper:

gcc votrefichier.c ou votrefichier.cpp -o votrefichier.exe(pour la compilation)
et ensuite votrefichier.exe(pour créer l'exécutable).


Ou pour être sur que votre code source soit propre au passage de la compilation,
vous pouvez aussi effectuer la commande suivante.

gcc -W -Wall -o plop.exe plop.c

Normalement,vous avez deux fichiers créer au sein de votre dossier.
Le code source et votre .exe fraichement créer.


Ben voilà


Si j'ai fais une erreur quelque part,bah corriger moi.



En espérant vous aider.



@plus et bonne soirée








  • Partager sur Facebook
  • Partager sur Twitter
4 novembre 2009 à 22:04:01

C'est gentil mais si tu veux aider les débutants mets des balises c'est plus clair mais pour ceux qui ne débutent pas !
  • Partager sur Facebook
  • Partager sur Twitter
4 novembre 2009 à 22:06:37

Il me semble qu'il y avait un tuto dessus mais je ne le retrouve pas :-° ...
  • Partager sur Facebook
  • Partager sur Twitter
4 novembre 2009 à 22:06:47

Des balises?

C'est à dire? Désolé je ne comprend pas.
  • Partager sur Facebook
  • Partager sur Twitter
4 novembre 2009 à 22:11:52

Ah ok.


Je m'excuse,je vais corriger cela.


PS:Si vous pouviez me laisser le temps demain matin tôt dans la matinée de mettre ça au propre,ce serait cool.




Merci
  • Partager sur Facebook
  • Partager sur Twitter
4 novembre 2009 à 22:12:01

Par exemple si c'est un test en c++ fais
TEXTE EN CPP
</codeE>

<code type="cpp">
// Exemple sans le "E" superflu
 int main()
{
 for blablabla

/* code en couleurs !
c'est cool  */

}


apres a la place de cpp tu peux mettre "autre" si c'est une erreur ca ne sert a rien de mettre des couleurs

BuildError blablabla ( Pour mettre en valeur ton texte n'etant pas du c++
  • Partager sur Facebook
  • Partager sur Twitter
13 novembre 2009 à 11:44:19

Parfait. C'est ce que je cherchais, ça tombe bien. Merci !

Je rajoute ceci, pour ceux qui voudraient compiler avec Notepad++, parce que parfois, ouvrir Code::Blocks, ça devient lourd au bout d'un moment, parce que Notepad++ est 1000x plus léger, ou tout simplement parce qu'on est habitués à coder avec Notepad++ et que, mine de rien, qu'est-ce qu'il est agréable !

Compiler avec Notepad++



Tout d'abord, faites les étapes décrites par edenprog.

Rendez-vous sur la page des plugins de Notepad++ : http://sourceforge.net/apps/mediawiki/ [...] lugin_Central

Téléchargez le plugin du nom de "Nppexec". Importez-le dans Notepad++ (dans le menu "Paramétrage" de Notepad++, choisissez "Importer" -> "Plugins", et sélectionnez "NppExec.dll").

Ensuite, cliquez sur le menu "Plugins" -> "NppExec" -> "Execute..." (F6), puis dans la petite boîte de dialogue qui apparaît, tapez la commande suivante (la même que si c'était sur la console) :

cd $(CURRENT_DIRECTORY)
gcc $(FILE_NAME) -o $(NAME_PART).exe -Wall


La commande "cd", c'est pour se déplacer dans le répertoire où se trouve le fichier que vous voulez compiler (répertoire indiqué par $(CURRENT_DIRECTORY)).

La commande "gcc", c'est pour compiler le fichier C.
$(FILE_NAME) représente le fichier courant (par exemple "main.c"). L'option "-o" représente le nom du fichier de sortie, par exemple "-o fichier_de_sortie.exe", ou ici $(NAME_PART).exe qui représente le nom du fichier sans l'extension, avec l'extension ".exe" rajoutée manuellement.
L'option "-Wall" va mettre tous les Warnings.

Ici, un lien vers un tuto sur GCC, où j'ai trouvé les options dont je vous parle.

Ainsi, en codant avec Notepad++, lorsque votre code est terminé, il suffit d'appuyer sur F6 pour compiler, et trouver votre exécutable dans le dossier où se trouve votre fichier C.

Je cherche encore un moyen d'ouvrir l'exécutable automatiquement, et un autre pour pouvoir exécuter le programme sans que la console se ferme (et sans code supplémentaire). Si quelqu'un sait ?
  • Partager sur Facebook
  • Partager sur Twitter
24 janvier 2010 à 23:09:17

CD: C:\Users\hhh\AppData\Roaming\Microsoft\Windows\Start Menu\fd\Desktop\ok
Current directory: C:\Users\hhh\AppData\Roaming\Microsoft\Windows\Start Menu\fd\Desktop\ok
gcc main.c -o main.exe -Wall
CreateProcess() failed with error code 2:
Le fichier spécifié est introuvable.

================ READY ================
  • Partager sur Facebook
  • Partager sur Twitter
Anonyme
18 février 2010 à 22:35:32

$(CURRENT DIRECTORY) est à remplacer ou à laisser tel quel ?
PS : merci pour le lien oracle.
  • Partager sur Facebook
  • Partager sur Twitter
18 février 2010 à 23:45:20

Non tout ce qui est $(QUELQUECHOSE), ce sont des variables utilisés par le plugin, donc à laisser tel quel.
  • Partager sur Facebook
  • Partager sur Twitter
Anonyme
19 février 2010 à 0:12:04

D'accord j'avais un doute. Encore merci.
  • Partager sur Facebook
  • Partager sur Twitter
19 février 2010 à 1:12:24

Quand j'ai débuté le C, je ne connaissais pas le site du zéro, et je ne savait pas qu'il existait des IDE ^^

J'ai cherché pendant un bon bout de temps comment installer gcc sous Windows, et je suis tombé là dessus:

http://devtricks.wordpress.com/install [...] sous-windows/
  • Partager sur Facebook
  • Partager sur Twitter
- Il y a un chemin vers chaque sommet, même le plus haut -
Anonyme
19 février 2010 à 12:06:20

Merci pour le lien artificier.

EDIT : C'est normal que ça ne marche pas pour éditer la variable %PATH% si on met mingw sur une clé ?

EDIT : Même erreur que zoom.
  • Partager sur Facebook
  • Partager sur Twitter
19 février 2010 à 15:41:54

Ben le problème, c'est que ta cléusb, une fois, elle peut être K:, une autre fois ça va être I:, etc... :-°
  • Partager sur Facebook
  • Partager sur Twitter
- Il y a un chemin vers chaque sommet, même le plus haut -
Anonyme
19 février 2010 à 15:50:42

Oui je sais mais j'ai essayé en mettant dans D:\ mais ça ne marche pas non plus.
Et pour l'autre erreur ?
  • Partager sur Facebook
  • Partager sur Twitter
19 février 2010 à 16:02:53

Je ne peux pas faire d'essais, je ne suis pas suis sous windows, mais essai en faisant dans une console

set PATH=%PATH%;x:\MinGW\bin

(en supposant que MinGW est dans x:\)


Ensuite tu crée un programme tout bête, tu le mets dans x:\ par exemple, puis tu fais:

x:
gcc foo.c -o foo


Ne ferme pas la console entre les deux étapes :-°



  • Partager sur Facebook
  • Partager sur Twitter
- Il y a un chemin vers chaque sommet, même le plus haut -
Anonyme
19 février 2010 à 16:12:40

J'ai essayé en console aussi mais ça marche pas (moi j'avais tout recopié à la main :))
Sinon c'est pas grave je vais me faire des petits scripts pour les principaux binaires.
  • Partager sur Facebook
  • Partager sur Twitter
28 février 2010 à 18:48:54

Pour compiler un projet SDL avec Notepad++



Se rendre dans C:\Program Files (x86)\CodeBlocks\SDL-1.2.14\lib, et copier les trois fichiers qui s'y trouvent (libSDL.dll.a, libSDL.a, libSDLmain.a), et les coller dans C:\Program Files (x86)\CodeBlocks\MinGW\lib.

Ensuite dans Notepad++, ouvrir un des fichiers de votre projet, par exemple main.c. Puis presser F6 (voir mon message précédent indiquant comment compiler avec Notepad++). Entrer ceci dans la boîte de dialogue qui apparaît :

cd $(CURRENT_DIRECTORY)
gcc *.c -lmingw32 -lSDLmain -lSDL -I "C:\Program Files (x86)\CodeBlocks\SDL-1.2.14\include" -o Executable.exe -Wall
Executable.exe


Bien sûr, modifier les chemins selon votre configuration (peut-être "Program Files" au lieu de "Program Files (x86)", peut-être "SDL-1.2.15" au lieu de "SDL-1.2.14", etc.).

Cela va compiler tous les fichiers dont l'extension est ".c" du dossier où vous êtes (*.c), et créer un exécutable nommé "Executable.exe" dans ce même dossier, puis le lancer immédiatement.

Je cherche encore un moyen d'éviter que la console s'ouvre derrière (sous CodeBlocks, c'était ça). Suffit de lancer l'exécutable directement après.


Références :
* http://www.siteduzero.com/forum-83-328 [...] html#r3046100
* http://c.developpez.com/cours/mode-emploi-gcc/c510.php
* http://www.siteduzero.com/forum-83-457 [...] html#r4353117
  • Partager sur Facebook
  • Partager sur Twitter
9 mars 2010 à 7:15:43

Pour compiler un projet SDL avec la bibliothèque SDL_ttf sous Notepad++



Il suffit de suivre les étapes ci-dessus, et de rajouter l'option -lSDL_ttf dans la commande gcc :

cd $(CURRENT_DIRECTORY)
gcc *.c -lmingw32 -lSDLmain -lSDL -lSDL_ttf -I "C:\Program Files (x86)\CodeBlocks\SDL-1.2.14\include" -o Executable.exe -Wall
Executable.exe


Il faut au préalable suivre les étapes décrites dans le tutoriel "Apprenez à programmer en langage C" pour l'installation de la SDL_ttf.
  • Partager sur Facebook
  • Partager sur Twitter
9 mars 2010 à 7:31:44

Il y a ce site :

cours C et algo

-
Edité par Tetdoss 23 novembre 2014 à 1:42:43

  • Partager sur Facebook
  • Partager sur Twitter
Etudiant ingénieur en cyber-sécurité
9 mars 2010 à 7:54:51

Il y a une énorme erreur : en C++, on utilise g++ et non gcc pour compiler.
Plutôt que de donner des exemples, il vaut mieux expliquer comment faire pour ajouter une bibliothèque déjà compilée.

Une bibliothèque déjà compilée a un nom de ce type :
libNom.ext (ext sera lib ou a sous Windows)
Après, pour l'édition de liens (la dernière étape avant d'avoir l'exécutable final), il faut ajouter l'option -lNom (pour chaque bibliothèque à lier).
  • Partager sur Facebook
  • Partager sur Twitter
17 mai 2010 à 16:32:26

Bonjour, merci pour ce tutorial, j'ai pu installer wingm sous windows et je peux compiler avec gcc sous window! Encore merci.

Mais je voudrais savoir comment je pouvais compiler un fichier makefile ?? Lorsque j'utilise DOS, lorsque je tape " make " il me mette " make n'est pas reconnu en tant que commande interne ou externe, un programme executable ou un fichier de commandes".

Dans le répertoire c\MinGW\bin j'ai bien une application "mingw32-make" mais je ne sais pas comment faire.

Si quelqu'un pouvait m'aider ce serait super sympas ! Merci d'avance :)
  • Partager sur Facebook
  • Partager sur Twitter
17 mai 2010 à 16:47:43

Je ne suis pas certaine que ça suffira mais il me semble qu'il suffit de configurer la variable système PATH pour lui donner un répertoire supplémentaire pour aller chercher les commandes.
Je ne sais plus comment y accéder mais je sais qu'on peut la modifier pour une console en modifiant la variable PATH soit-même. Je crois que c'est à l'aide de :
path nouvelle_valeur_de_path

S'il n'y a qu'un chemin donné, alors le système n'ira chercher que dans ce dossier les commandes qu'il ne trouve pas dans les fichiers système.

Si aucune valeur n'est donnée, ça affichera la valeur actuelle de PATH
  • Partager sur Facebook
  • Partager sur Twitter
17 mai 2010 à 16:58:53

Je n'ai pas tout compris. Dans le path, j'ai suivi le tutorial je suis allé dans paramètre du système avancé, variable d'environnement et dans le path j'ai rajouté ";c:\mingw\bin".

En tout cas je te remercie de m'avoir répondu ça fait plaisir :D
  • Partager sur Facebook
  • Partager sur Twitter
17 mai 2010 à 18:18:24

Citation : Ax95

Dans le répertoire c\MinGW\bin j'ai bien une application "mingw32-make" mais je ne sais pas comment faire.


C'est pareil, il faut taper mingw32-make au lieu de make.

Si c'est pas ça, alors montre nous ton Makefile, on pourra voir s'il y a des erreurs.
  • Partager sur Facebook
  • Partager sur Twitter
- Il y a un chemin vers chaque sommet, même le plus haut -
7 mars 2011 à 0:50:19

euh... moi j'ai tout fait (pas le même chemin dans "Path" mais c'est parce que j'ai installer MinGW dans ProgramFiles)
j'ai jamais installer d'IDE sous Windows (et je fait la manip pour pouvoir compiler mes logiciels et les envoyés directement a mes amis vue que j'ai l'habitude de programmer sous Ubuntu... quoique ça m'arrive de modifier sous Notpad++ quand j'ai pas le temps de redémarrer mais qu'une idée me viens et je ne peut donc pas tester.)

Je disais donc : une fois que je lance la compilation avec la ligne de commande habituelle : gcc -Wall test.c -o test.exe ça me me une fenêtre d'erreur système avec comme titre as.exe
et comme corp : Impossible de démarrer le programme car il manque libiconv-2.dll sur votre ordinateur.Essayez de réinstaller le programme pour corriger ce problème.
et effectivement j'ai fait une recherche et n'ai pas trouver cette dll...
je voulais donc savior quoi faire :s

Edit : Ah oui et je voulais dire qu'il manque "}" dans la citation, elle est la ligne d'après donc on la copie pas tout en s'étonnant de pas en avoir a la fin d'un programme ;)

Edit 2 : Bon j'ai réussis a installer en faisant installation manuelle puis en rajoutant manuellement les dll manquantes dans le dossier bin.
J'essaie de faire en sorte de pouvoir compiler sous Notpad++ mais je vois pas exactement ou mettre les 2lignes :
cd $(CURRENT_DIRECTORY)
gcc -Wall $(FILE_NAME) -o $(NAME_PART).exe

Dans exécuter il y a trois sous partis et en essayant dans les 2 dernières (je suppose que c'est pas dans python...) ça me met une grosse erreur quel que soit l'endroit ou je colle :s
Pour user filtrer :
[1] 110307 201603 Error: error output ''
[3] 110307 201603 Error: could not execute shell with command line 'cd $(CURRENT_DIRECTORY)
gcc -Wall $(FILE_NAME) -o $(NAME_PART).exe'
[3] 110307 201603 Error: could not start the shell process
[3] 110307 201603 Error: [WIN32] Le fichier spécifié est introuvable. (2)

Pour users tools :
[3] 110307 201747 Error: could not execute shell with command line 'cd $(CURRENT_DIRECTORY)
gcc -Wall $(FILE_NAME) -o $(NAME_PART).exe'
[3] 110307 201747 Error: could not start the shell process
[3] 110307 201747 Error: [WIN32] Le fichier spécifié est introuvable. (2)

Donc voila je comprends pas vraiment à quoi correspondent ces deux erreurs mais j'aimerais bien pouvoir compiler directement sans avoir à ouvrir un terminal (plus rapide et plus geek ^^) alors si en plus ça peu lancer le programme :) (un truc du genre $(NAME_PART).exe après la ligne gcc ça marcherait pas? J'ai pas essayer parce que je veux déjà que la méthode normale marche avant de bidouiller ;) )
  • Partager sur Facebook
  • Partager sur Twitter
10 mars 2011 à 21:00:08

Alors pour tous ceux qui cherchent pour le module de Notpad++ (ceux dans le même cas que moi) il faut vraiment NppExec et pas GhNppExec!!!

Sinon j'ai "améliorer" le code à mettre dans la console (pour les encore plus fainéant :
cd $(CURRENT_DIRECTORY)
npp_save
gcc -Wall $(FILE_NAME) -o $(NAME_PART).exe
npp_run $(NAME_PART).exe

Se déplace dans le répertoire courant
sauvegarde le fichier en cours (je pense pas tous mais on verras a l'usage)
Compile le C
démarre le programme

j'ai trouver tout ceci sur un autre poste sur le SdZ alors franchement merci :

Citation : Sparrow

<dossier d'install Notepad++>\plugins\doc\NppExec.txt tu trouveras pas mal d'infos (et dans d'autres fichiers du même dossier).


Si vous aussi vous voulez y améliorer ou pour en faire totalement d'autres ;)
  • Partager sur Facebook
  • Partager sur Twitter
26 avril 2012 à 10:07:41

Mais ce sujet n'a rien a faire ici, il n'y a pas de question a ce que je sache! Ce serait un mini-mini tuto qu'il faudrait.
  • Partager sur Facebook
  • Partager sur Twitter
26 avril 2012 à 10:24:49

Merci du déterrage, ce sujet à trois ans...
  • Partager sur Facebook
  • Partager sur Twitter
Zeste de Savoirbépocode minimal  — Ge0 <3