Aller au menu - Aller au contenu

[Plan du site] Vous êtes ici --- > Le Site du Zéro > Les tutoriels > Non-Officiels > Programmation > Environnements de développement > Compiler sans IDE sous Windows > Lecture des commentaires

Compiler sans IDE sous Windows

Vous devez être inscrit pour pouvoir poster des messages

Page : 1 
Pseudo Commentaire
Page : 1 
Hors ligne <!--nico--> # Posté le 31/07/2007 à 22:45:56 - Ce membre a mis la note : 15
Avatar
Groupe : Membres
Un bon tuto, même si je connaissais déjà le principe (et l'appliquais à la main), je peux maintenant utiliser des makefile, c'est mieux.
Un truc qui m'a déçu, c'est à propos des makefil, "je n'y comprends pas tout moi-même". Ca fait vraiment pas sérieux, c'est pas si dur à comprendre. A la limite, donner un lien vers la partie concernant les makefile du site de -ed-, très bien expliquée.

Pensez à mettre en "résolu" les topics qui le sont effectivement SVP.
En bas à gauche, Juste au-dessus du pied de page pendant la lecture du topic


 
Hors ligne spider-mario # Posté le 01/08/2007 à 11:36:24 - Ce membre n'a pas mis de note
Avatar
Groupe : Membres
Bonjour, un programme compilé avec Mingw32 nécessite la DLL mingw10m.dll et j'aimerais savoir s'il y a la possibilité de lier statiquement le programme à cette Run-Time Library.
Hors ligne Asi # Posté le 01/08/2007 à 14:50:20 - Ce membre n'a pas mis de note
Mangeur de Lapins Crus
Avatar
Modérateurs
@Nico: Je l'aurais fait si j'avais un lien potable sous la main.
@spider-mario: Absolument aucune idée, et mon ami Google n'a pas l'air de savoir non plus.
 
Hors ligne Seb087 # Posté le 02/08/2007 à 03:14:25 - Ce membre a mis la note : 20
Avatar
Groupe : Membres
Salut,

voici mes quelques commentaires :

-----

Je suis ravi d'avoir lu Mios au lieu de Mo, par contre je ne suis pas sûr qu'il faille de "s", ça reste une unité, quand on parle de km, on ne met pas kms quand il y en a plusieurs normalement. ;)

-----

Pour ce qui est du passage sur le path, il faudrait préciser que C:\ correspond à la partition de l'installation du programme, ça évitera à certains de dire que ça ne marche pas parce qu'ils l'ont installé ailleurs. A ce même endroit, sous Vista "Poste de travail" ne s'appelle plus comme ça, mais "Ordinateur". Ensuite "Avancé", c'est nommé "Paramètres système avancés" et ce n'est pas un onglet mais c'est dans le "cadre" à gauche. Le reste ne change pas.

-----

Toujours sous Vista, ça ne marche finalement pas, l'erreur renvoyée étant :

Code : Console
makefile:11: *** missing separator.  Stop.


J'ai utilisé le makefile que tu fournis (sans SDL).

Edit : bon pour cette erreur là, j'ai trouvé, c'est les "tab" qui ne sont pas passées au copier/coller du makefile, il fallait faire les tabulations à la main.

-----

Après cela, il reste les autres erreurs comme avec tous les IDE sous Vista : il ne comprend pas trop dans quel dossier il doit aller chercher quels fichiers, à commencer par cc1plus.exe. Une solution consite à copier un peu partout tous les fichiers qui manquent, ça finit par aller.

Je suis d'ailleurs toujours à la recherche d'une autre. Il semblerait que ça aille mieux en lançant make à partir du dossier d'installation de MinGW mais dans ce cas, ce sont des erreurs sur les fichiers du projet qui arrivent.

Comment faire pour que toutes les actions nécessitant g++ se fassent à partir du dossier d'installation de MinGW ? Que rajouter au makefile ?

-----

Dans la conclusion, "Ce tutoriel à été réalisé post-formatage", il faut pas d'accent sur le "a".

-----

PS : le lien dont il est question dans le premier commentaire est http://mapage.noos.fr/emdel/make.htm, je vais y jeter un oeil, peut-être qu'il y aura la solution à mon prob.
Hors ligne Asi # Posté le 02/08/2007 à 04:09:38 - Ce membre n'a pas mis de note
Mangeur de Lapins Crus
Avatar
Modérateurs
Merci pour les précisions sur vista.

Pour les problèmes de copié-collé de makefile c'est que la tabulation est en espaces insécables... Le zCode aime pas les tabs et je sais pas pourquoi je met pas d'espaces...

Pour les erreurs sous vista il faudrait copier-coller ça :

Code : Autre
C:\MinGW\libexec\gcc\mingw32\3.4.5\cc1.exe => C:\MinGW\bin\cc1.exe
C:\MinGW\libexec\gcc\mingw32\3.4.5\cc1plus.exe => C:\MinGW\bin\cc1plus.exe
C:\MinGW\libexec\gcc\mingw32\3.4.5\collect2.exe => C:\MinGW\bin\collect2.exe


(Pompé du tuto de Nesquick)

Merci du commentaire :)
 
Hors ligne Seb087 # Posté le 02/08/2007 à 04:30:31 - Ce membre a mis la note : 20
Avatar
Groupe : Membres
Citation

Pour les erreurs sous vista il faudrait copier-coller ça :

Code : Autre
C:\MinGW\libexec\gcc\mingw32\3.4.5\cc1.exe => C:\MinGW\bin\cc1.exe
C:\MinGW\libexec\gcc\mingw32\3.4.5\cc1plus.exe => C:\MinGW\bin\cc1plus.exe
C:\MinGW\libexec\gcc\mingw32\3.4.5\collect2.exe => C:\MinGW\bin\collect2.exe

(Pompé du tuto de Nesquick)



J'ai déjà tenté cela, j'ai d'ailleurs déjà suivi entièrement son tuto et tenté plein d'autres choses.
J'y arrive avec la méthode barbare décrite dans ce sujet, mais je cherche une méthode propre.


Euh finalement, là toute suite en faisant des tests, j'ai trouvé une méthode déjà beaucoup mieux :

En effet, quand je place les trois fichiers : build.bat, Makefile et main.cpp dans le dossier MinGW, ça compile sans problème et le résultat est correct et exécutable. ;) (C'est une découverte que je viens de faire, en exclu totale dans tes commentaires ! ^^ )

=> Bon à partir d'ici on peut oublier tout ce qui est ci-dessus, ce n'était que le fil de ma réfléxion.

Compiler proprement sous Vista (enfin la solution)



Voici (enfin, ça fait des mois que je cherche comment faire ça proprement (bon peut-être un peu comme un boulet finalement), je suis vraiment heureux là :D ) comment compiler proprement sous Vista :

Il suffit de suivre ton tuto et de rajouter un bête truc dans le Makefile :

première ligne, au lieu de CC=g++, il faut écrire CC=C:\MinGW\bin\g++

où C:\MinGW\bin\ est le répertoire d'installation de MinGW.

Je m'étais promis à moi même de te mettre 20 si le tuto marchait, bon, j'ai quand même dû réfléchir, mais comme je pense que ça sera complété, je le mets. :p


PS : si tu as besoin de plus d'infos pour rendre le tuto compatible Vista (note que tout est déjà dit dans mes deux commentaires), n'hésite pas à demander. ;)
Hors ligne Michaeldu18 # Posté le 02/08/2007 à 12:28:05 - Ce membre n'a pas mis de note
Avatar
Groupe : Membres
Bon tuto bien expliqué je trouve. :)

Sinon, peut on savoir quelle valeur renvoi notre programme après l'execution ? (comme avec codeblocks par ex)

Image utilisateur
Image utilisateur
Image utilisateur

 
Hors ligne mykeys # Posté le 03/08/2007 à 22:20:09 - Ce membre a mis la note : 17
Unfaithful destiny
Avatar
Validateurs
Bon tuto, il explique les rudiments du makefile.

Sous windows, on obtient le code d'erreur retourné en batch avec %ERRORLEVEL%. Dans un programme, c'est assez compliqué, et on préférera aller honteusement pomper cb_console_runner.exe qui fait le travail à notre place (la source est disponible sous SVN). En plus, ça indique le temps écoulé :)

Code à mettre tout de suite après l'éxécution du programme
Code : Console
echo Valeur de retour: %ERRORLEVEL%

Image utilisateur
Pas mal, hein?

Dites-vous que ces résultats sont les minimums, les serveurs de speedtest.net semblent surchargés :D .
 
Hors ligne Gwen-Haël # Posté le 04/08/2007 à 18:16:42 - Ce membre n'a pas mis de note
The cake is a spy
Avatar
Groupe : Membres
Bonjour,

Le tuto est intéressant... Seulement je dois être mauvais (Un zér0, vous l'avez dit :lol: ) puisque chez moi il ne marche pas.

Précisons que je suis sous Vista, ce qui n'arrange bien entendu rien :lol:

Chez moi, quand je lance le fichier batch, je suis gratifié d'un beau millier de lignes de
Code : Console
Impossible de trouver le fichier Hello.exe

Logique: le fichier batch essaye d'effacer un fichier qui n'existe pas.
Mais pourquoi essayer à l'infini? o_O

J'ai donc essayé sans Makefile.
J'ai d'abord (normal) eu le problème de cc1plus.exe.
Ensuite, après déplacement de l'intéressé et de ses complices dans /bin, g++ accepte de compiler. :ninja:
Enfin, tout est relatif:
Citation : g++
No include path to search for iostream

Quel comique ce g++ quand même.

Enfin voilà, je me pose des questions :lol:
(Je noterais plus tard.)

Merci de votre aide :)

Image utilisateur
E7200 @ 2.9GHz | 9600GT @ 790MHz/1050MHz | 2Go PC6400 @ 4-4-4-12
 
Hors ligne Seb087 # Posté le 05/08/2007 à 02:45:36 - Ce membre a mis la note : 20
Avatar
Groupe : Membres
Gwen-Haël, je te conseille de lire en détail mes deux commentaires (et surtout le deuxième). &#59;&#41;

La méthode que je décris marche sans déplacer aucun fichier et elle est toute bête. Si tu as un problème, n'hésite pas à demander ou m'envoyer un mp.

PS : pourrais-tu donner ton fichier batch ? Parce que c'est quand même étrange. Il m'affiche également que le fichier est introuvable s'il n'existe pas, mais ça ne le fait qu'une seule fois.
Hors ligne Gwen-Haël # Posté le 05/08/2007 à 09:07:55 - Ce membre n'a pas mis de note
The cake is a spy
Avatar
Groupe : Membres
Je précise que j'ai lu et testé les méthodes décrites dans les commentaires &#58;&#41;

Bon, après avoir revu ca à tête reposée, le problème du fichier batch était stupide.
C'est corrigé. (Pas taper.)

Du coup, maintenant que le makefile est utilisable, je peux appliquer ta méthode, qui fonctionne à merveille.
Merci encore.

En revanche, la compilation en simple ligne de commande ne fonctionne toujours pas... Normal ca?
(le PATH étant correctement renseigné...)

Autre question:
Citation : makefile
mrproper: clean
del /F $(EXEC)

Ne fait-il pas double emploi avec
Code : Console
del Hello.exe /F

Image utilisateur
E7200 @ 2.9GHz | 9600GT @ 790MHz/1050MHz | 2Go PC6400 @ 4-4-4-12
 
Hors ligne Asi # Posté le 05/08/2007 à 15:13:37 - Ce membre n'a pas mis de note
Mangeur de Lapins Crus
Avatar
Modérateurs
Citation
Autre question:
Code : Autre
mrproper: clean
del /F $(EXEC)

Ne fait-il pas double emploi avec
Code : Console
del Hello.exe /F


Si, il vaudrait mieux remplacer la ligne "del Hello.exe/F" par "make mrproper", si j'ai mis ça c'est que j'avais du foirer mon makefile à un moment donné...

Merci pour tous vos commentaires, je mettrais le tuto à jour quand j'en aurais l'occasion.
 
Hors ligne Michaeldu18 # Posté le 06/08/2007 à 17:01:59 - Ce membre n'a pas mis de note
Avatar
Groupe : Membres
Merci mikeys pour ta réponse, ça marche très bien. ^^

Image utilisateur
Image utilisateur
Image utilisateur

 
Hors ligne snake_48 # Posté le 07/08/2007 à 21:19:45 - Ce membre a mis la note : 20
Avatar
Groupe : Membres
Bonjour, quand je compile mon fichier, il me marque :
Citation : Erreur console
[test.o] Error1

Que dois-je faire ?
Merci d'avance

Langages connus : Actionscript, Batch, C, C++, CSS, HTML, IOLanguage, Java, Javascript, Pascal, PHP, Python, Ruby.
Programme sur : PC, Nintendo DS et GameBoy Color.
Nitrome Fan de Nitrome...
Petite citation : "Mieux vaut programmer seul que mal accompagné" :-° ...
 
Hors ligne kna # Posté le 30/01/2008 à 00:29:46 - Ce membre n'a pas mis de note
Avatar
Groupe : Membres
Pour info, le makefile a été crée pour linux à la base.
Je ne savais pas qu'il était porté sous windows avant de lire ce tuto (quoique je m'en doutais un peu !)

Pour un peu plus comprendre les makefiles, vous pouvez aller voir mon tuto "Compilez sous GNU/Linux !", surtout la partie sur les makefiles.
Vous pourrez faire des makefiles plus "personnalisés", c'est tout l'intérêt.

Cependant, il y a quand même de nombreuses différences entre windows et linux. Il ne faudra pas suivre mon tuto "à la lettre" sous windows. Mais ca peut quand même vous aider à comprendre.

Vous pouvez toujours lire la partie précedente (gcc) si vous voulez vous instruire.

I thought what I'd do was, I'd pretend to be one of those deaf-mutes.
 
Hors ligne Idefix57 # Posté le 12/02/2008 à 00:36:59 - Ce membre a mis la note : 18
Avatar
Groupe : Membres
Tres bon tuto , Merci beaucoup ,

Juste 2 chose :
1: le jour qu'on install d'autres librairies ...bonjour la galere :p
2: ca fonctionne pas ! voici mon erreur ,
je précise que je suis assez bon en 'msdos' donc pas d'erreur dans mon 'batch'
Code : Autre - Afficher / masquer les numéros de ligne
  1. @echo off
  2. cd /d "E:\Mes documents\Mes Programmations\_3 Programmation\C-Cpp\LaCompilationPar_GPP_Compiler"
  3. del Hello.exe /F
  4. C:\MinGW\bin\make
  5. PAUSE

et le fichier 'Makefile' sans extention c'est correct ?
Code : Autre - Afficher / masquer les numéros de ligne
  1. CC=g++
  2. CFLAGS=-W -Wall -ansi -pedantic -pedantic-error -s -O3 -Os
  3. LDFLAGS=
  4. EXEC=Hello.exe
  5. SRC= $(wildcard *.cpp)
  6. OBJ= $(SRC:.cpp=.o)
  7.  
  8. all: $(EXEC)
  9.  
  10. Hello.exe: $(OBJ)
  11.     $(CC) -o $@ $^ $(LDFLAGS)
  12.  
  13. %.o: %.cpp
  14.     $(CC) -o $@ -c $< $(CFLAGS)
  15.  
  16. .PHONY: clean mrproper
  17.  
  18. clean:
  19.     del /F *.o
  20.  
  21. mrproper: clean
  22.     del /F $(EXEC)


ERREUR:
Image utilisateur
OK je viens de voir un message plus haut , je vérifie mes tabulations ;)
Tout est OK :D MERCI ,
mais je me pose quand meme la question pour d'autres librairies ....?
et aussi si on as plusieurs fichiers en 'c/cpp' et avec des headers ???
Hors ligne Idefix57 # Posté le 12/02/2008 à 02:24:49 - Ce membre a mis la note : 18
Avatar
Groupe : Membres
Oups j'avais oublier la note ,

Secret (cliquez pour afficher)
18/20


J'ai des commentaires :
Tout d'abord merci a kna tres bon tuto :)

Je travail sous windows et en suivant le tuto de kna ,
voila mon nouveau fichier 'batch'
Code : Autre - Afficher / masquer les numéros de ligne
  1. g++ Hello.cpp -o Hello2
  2. PAUSE

Vachement plus court .... :-°
et plus simple sans le 'Make' , qu'en pensez-vous ,
j'aurais surement d'autres suggestions ...a venir :p
Hors ligne Babie # Posté le 05/03/2008 à 19:14:13 - Ce membre n'a pas mis de note
Avatar
Groupe : Membres
Bon, j'ai corrigé les (fuc*ing) tabuations, et ça me dit:
Nothing to be done for "main.cpp"

Ma définition de l'art: "L'art est une multitude de possibilités."
J'adore le BruteForce XD
 
Hors ligne daxou31 # Posté le 22/05/2008 à 00:11:08 - Ce membre a mis la note : 18
Toulousain et pas peu
Avatar
Groupe : Membres
Merci :D

Je connaissais, des copains a moi s'en servaient mais je n savait pas trop comment et puis comme j'ai des problèmes avec Code Blocs ou Dev C++, j'utilisais VS 2008 qui certes est performant (plus pour le C# :p ) mais qui a des comportements assez spéciaux !
Ca me permettre d'utiliser mon indémodable Notepad++ !!

PS : j'ai pas reussi a compiler avec ton code mais avec celui ci :
Code : Batch
1
2
3
4
5
6
7
8
9
del Hello.exe

gcc main.c -o Hello.exe -Wall

pause

Hello.exe

pause

Comme ca l'application est de suite lancée.

Au passage, il y a un bon tuto sur developpez.com sur les Makefile !

Image utilisateur
Image utilisateur
 

Vous devez être inscrit pour pouvoir poster des messages

Changer de design | En savoir plus | Plan du site | Politique d'accessibilité | Règles | RSS tutoriels | RSS news
Édité par Simple IT SARL : Nous contacter | Notre blog | Revue de presse | Publicité

Y'a plus rien à lire, faut remonter maintenant !

Hébergement web - Correction de tutoriels - Créer un site
Vous souhaitez apparaître ici ? Contactez-nous.

Nombre de connectés 94 Zéros connectés | Requêtes SQL 8 requêtes | Temps de génération de la page : Total (SQL) 0.0309s (0.02s)