AccueilAccueil  FAQFAQ  RechercherRechercher  S'enregistrerS'enregistrer  MembresMembres  Connexion  

Partagez | 
 

 C++: fichier bat pour lancer le compilateur[résolu]

Voir le sujet précédent Voir le sujet suivant Aller en bas 
AuteurMessage
centkestion
Débutant


Messages : 13
Localisation : Haute Saône

MessageSujet: C++: fichier bat pour lancer le compilateur[résolu]   Lun 22 Avr 2013 - 22:35

Bonsoir.
Je suis nouveau ici, et aussi en C++ dont je suis le tutoriel du siteduzéro.
Je vois que ce forum est actif, contrairement à d'autre pour ce langage, auquel on voit beaucoup de question, et peu de réponses.

Pour apprendre le C++, j'ai fait un programme dans un autre langage, afin de retrouver facilement les caractéristiques, les problèmes, et toutes les informations qui me sont utiles pour avancer. J'ai aussi différents boutons qui me permettent d'écrire les exemple du tuto, et de les exécuter. tous les exemples peuvent être compilés par un bouton qui lance un fichier .bat. Jusqu'à présent cela fonctionnait bien, sauf qu'en suivant le tuto du site qui consiste à décomposer une fonction en plusieurs fichiers: fonction.h, fonction.ccp et main.cpp, la console m'indique que la référence en rapport avec la question est indéfinie.
J'ai eu aussi ce problème avec Code::blocks, et en réinstallant celui-ci, ce problème à disparu avec cet éditeur.

Maintenant je tiens à pouvoir compiler directement sans Code::blocks, déjà pour des raisons de praticité avec mon programme, le reste c'est pour plus tard.

Si quelqu'un pouvait corriger mon fichier .bat de lancement car je ne connais rien ou très peu pour cette programmation. J'ai chipé ici et là sur les forum pour faire ce fichier .bat, dont voici le code:

Code:
@echo.
@echo Setting up environment for using MinGW with gcc from %~dp0.
@set PATH=%~dp0bin;%PATH%
g++ -o c:\MAPt\teste\bin\Release\teste.exe c:\MAPt\teste\main.cpp
pause

Je mets un exemple pour comprendre ce qui se passe:

Spoiler:
 

et voici la génération de l'erreur de la console:
Spoiler:
 

Je vous remercie par avance de bien vouloir apporter attention à mon problème.
J'ai déjà envoyé sur un autre site, mais j'ai pas la solution. sweat
@+


Dernière édition par centkestion le Ven 26 Avr 2013 - 21:51, édité 1 fois
Revenir en haut Aller en bas
D-z
Utilisateur confirmé: Rang *****
avatar

Messages : 1608
Localisation : Montpellier

MessageSujet: Re: C++: fichier bat pour lancer le compilateur[résolu]   Lun 22 Avr 2013 - 23:53

Tu as oublié d'implémenter ta fonction ajouteDeux ?

J'ai raté un spoiler. Il faut compiler chaque fichier source !

_________________
 
Home is not a place, it's a feeling.
Revenir en haut Aller en bas
centkestion
Débutant


Messages : 13
Localisation : Haute Saône

MessageSujet: Re: C++: fichier bat pour lancer le compilateur[résolu]   Mar 23 Avr 2013 - 7:04

Bonjour, merci pour ton intervention.
Citation :
Il faut compiler chaque fichier source !
Ca veut dire quoi ? Il faut mettre tous chemins dans le fichier bat, car individuellement compiler chaque fichier ça ne marche pas.

Salutation!
Revenir en haut Aller en bas
onilink_
Modérateur
avatar

Messages : 8902
Localisation : Montpellier
Projet Actuel : Planet Centauri
OniDev

MessageSujet: Re: C++: fichier bat pour lancer le compilateur[résolu]   Mar 23 Avr 2013 - 8:11

Bah tu compile addition. cpp:
g++ addition.cpp -c

Et ensuite le main.cpp en linkant tout:
g++ main.cpp -o out.exe addition.o

Les undefined reference c'est toujours des problèmes de link Wink

_________________
                 
Revenir en haut Aller en bas
centkestion
Débutant


Messages : 13
Localisation : Haute Saône

MessageSujet: Re: C++: fichier bat pour lancer le compilateur[résolu]   Mar 23 Avr 2013 - 10:57

Merci Onilink.
Bien, je ferais l'essais ce soir. Là je reviens du bois, et j'y retourne tout à l'heure pour faire mon bois de chauffage. Merci, j'espère que cela va marcher!
Revenir en haut Aller en bas
centkestion
Débutant


Messages : 13
Localisation : Haute Saône

MessageSujet: Re: C++: fichier bat pour lancer le compilateur[résolu]   Mar 23 Avr 2013 - 17:38

J'ai essayé, mais je n'y arrive pas.

Déjà il faudrait savoir si le chemin du dossier où sont placés les fichiers: addition.cpp, addition.h, main.cpp, on ne peut pas l'imposer dès le départ.

Voici le dernier fichier .bat:
Code:

@echo.
@echo Setting up environment for using MinGW with gcc from %~dp0.
@set PATH=%~dp0bin;%PATH%

g++ c:\MAPt\teste\addition.cpp -c
g++ -o c:\MAPt\teste\bin\Release\.exe c:\MAPt\teste\main.cpp

Comment faudrait-il faire ?
Voila autre chose, on m'appelle.
@+
Revenir en haut Aller en bas
onilink_
Modérateur
avatar

Messages : 8902
Localisation : Montpellier
Projet Actuel : Planet Centauri
OniDev

MessageSujet: Re: C++: fichier bat pour lancer le compilateur[résolu]   Mar 23 Avr 2013 - 17:49

Bah si ton .bat est dans le même dossier que tes sources t'as pas besoin de mettre des chemins absolus.
Sinon c'est quoi qui marche pas?

_________________
                 
Revenir en haut Aller en bas
centkestion
Débutant


Messages : 13
Localisation : Haute Saône

MessageSujet: Re: C++: fichier bat pour lancer le compilateur[résolu]   Mar 23 Avr 2013 - 20:05

Me voila bien embarrassé. Ça ne marche du tout.

Suite à ta remarque, j'ai mis le fichier .bat dans le même dossier que les sources. Avant il était dans le même dossier que le compilateur. Maintenant il ne reconnait plus celui-ci.

g++ est dans le dossier: "c:\compilateur\CodeBlocks\MinGW\bin\"

les fichiers sont dans: "c:\MAPt\teste\" . (MAPt pour mise au point)

Le message d'erreur maintenant est avec cette modification:


Code:

@echo.
@echo Setting up environment for using MinGW with gcc from %~dp0.
@set PATH=%~dp0bin;%PATH%
g++ -o c:\MAPt\teste\bin\Release\teste.exe c:\MAPt\teste\main.cpp
pause



Je ne me rappelle plus où j'avais eu ce code, que j'avais défini en rapport avec mon environnement.

Si tu pouvais me l'écrire tel qu'il devrait être, ce serait formidable. Car là je n'y comprend pas grand chose, et je ne voudrais pas abuser continuellement à déranger les membres de ce forum pour mes petits problèmes.

Merci encore à toi de participer.

Edit:
en regardant le code, je vois que l'exe est dans release (c'est avec code::Blocks), mais moi ça ne me dérange pas qu'il soit ailleurs. avec les autres fichiers, si l'on veut. Ce n'est pas important.
Revenir en haut Aller en bas
onilink_
Modérateur
avatar

Messages : 8902
Localisation : Montpellier
Projet Actuel : Planet Centauri
OniDev

MessageSujet: Re: C++: fichier bat pour lancer le compilateur[résolu]   Mar 23 Avr 2013 - 21:11

Il faut que tu mette le chemin de g++ dans le path pour qu'il soit reconnu par l'invité de commande (donc les .bat).
(clic droit sur Poste de travail -> propriétés -> avancé -> variables d'environnement -> tu ajoute dans le path)

Sinon tu peut appeler g++ avec un chemin absolut: c:\mon\chemin\bin\g++.exe


_________________
                 
Revenir en haut Aller en bas
centkestion
Débutant


Messages : 13
Localisation : Haute Saône

MessageSujet: Re: C++: fichier bat pour lancer le compilateur[résolu]   Mar 23 Avr 2013 - 21:57

Ah merci beaucoup onilink_
Tu m'as été d'un grand secours.

J'ai remis mon fichier .bat avec le compilateur, autrement je n'arrivais pas à le faire reconnaitre.

Voici ce qui a marché:
Code:
@echo.
@echo Setting up environment for using MinGW with gcc from %~dp0.
@set PATH=%~dp0bin;%PATH%

g++ c:\MAPt\teste\addition.cpp -c
g++ c:\MAPt\teste\main.cpp -o c:\MAPt\teste\out.exe addition.o

pause

Pour ce qui est des trois premières lignes, je ne comprend rien du tout. Et là où je me pose des question, ce sera lorsque j'installerais je ne sais plus QT, ou autre. J'ignore ce qu'il faudra faire.

En tout cas merci. Voici un forum qui marche. J'avais posé la question sur un autre forum, mais là ils ont bus une potion qui les a endormis.

Maintenant que je sais que le forum fonctionne, j'y viendrais jeter un oeil régulièrement.
Je sais que sur centkestion, il m'en reste 99, mais je vais tout faire pour ne pas en abuser. rire2

Il est évident qu'il me sera difficile d'intervenir, alors que je suis novice.
Revenir en haut Aller en bas
onilink_
Modérateur
avatar

Messages : 8902
Localisation : Montpellier
Projet Actuel : Planet Centauri
OniDev

MessageSujet: Re: C++: fichier bat pour lancer le compilateur[résolu]   Mar 23 Avr 2013 - 22:14

:b

Sinon, je me demandais, pourquoi compiler en ligne de commande et pas avec un IDE?


Pour ce qui est de Qt si tu l'utilise par contre ça devrais être beaucoup plus simple, car il a un invité de commande spécial ou le compilo est par défaut reconnus.

_________________
                 
Revenir en haut Aller en bas
centkestion
Débutant


Messages : 13
Localisation : Haute Saône

MessageSujet: Re: C++: fichier bat pour lancer le compilateur[résolu]   Mar 23 Avr 2013 - 22:39

onilink_ a écrit:
Sinon, je me demandais, pourquoi compiler en ligne de commande et pas avec un IDE?
Pourquoi?. J'ai commencé pour voir. Mais il est important de retrouver rapidement ce qu'on apprend. Un écran avec le tuto du siteduzéro, celui de codeBloks, un autre programme, cela fait beaucoup.
De plus on a tendance à faire du copier/coller (quoique beaucoup d'espaces sont remplacé par chr(160) je crois, ce qui provoque des erreurs). J'avais fait un programme pour remettre les espaces normaux, mais je me suis aperçu au bout d'un moment, que j'oubliais bien des choses.

J'ai donc fait un programme (basic Panoramic) avec une série de memo, de combo, etc, où les mots clés sont répertoriés, pour etre retrouvé. Des liens, comme celui de la page htlm du tuto, pour chaque leçon. Des mémos de comparaison, et pour chaque page du site, je peux faire 9 programmes différents, pour suivre le tuto. J'y ai mis un bouton pour compilé, quoique celui-là, j'ai du faire un script en Autoit pour qu'il clique sur un icône de raccourcis du fichier bat, j'ai j'ai pas réussi à le lancer par une commande (execute). puis le bouton pour lancer le programme compilé. Taper les sources à la main, c'est rajouté la mémoire des mains, et des essais, et c'est beaucoup plus efficace. De cette façon je comprend mieux les difficultés et je peux y rajouter des commentaires que je peux comprendre. Comme sur chaque memo, il y a une un évennement onchage, tout est enregistré à la dernière sauce.

Voila le pourquoi. Je ne ressors le CodeBlocks que lorsqu'il y a un problème que je ne comprends, comme cela a été le cas pour le problème que j'ai posé. Encore que ce problème était plus grave au départ, car même CodeBlock avait le même problème que le sujet traité. J'ai du le réinstaller pour qu'il re-fonctionne normalement.

Vu l'heure, je crois qu'il est tant du dodo!

Demain, j'ai encore du travail fatigant à faire.
Revenir en haut Aller en bas
centkestion
Débutant


Messages : 13
Localisation : Haute Saône

MessageSujet: Re: C++: fichier bat pour lancer le compilateur[résolu]   Mer 24 Avr 2013 - 6:49

Bonjour,
Pour en finir avec ce sujet. Comment on fait si on a plusieurs 'link' à faire. Je n'ai pas d'exemple pour l'instant pour voir.
Dans ces lignes:
Code:
g++ c:\MAPt\teste\addition.cpp -c
g++ c:\MAPt\teste\main.cpp -o c:\MAPt\teste\out.exe addition.o

je suppose en prenant comme exemple multiplication, division, on aurait:
Code:
g++ c:\MAPt\teste\addition.cpp -c
g++ c:\MAPt\teste\multiplication.cpp -c
g++ c:\MAPt\teste\division.cpp -c

et quelque chose comme:
Code:
g++ c:\MAPt\teste\main.cpp -o c:\MAPt\teste\out.exe addition.o multiplication.o division.o

Est-ce valable?
Maintenant je suis obligé de partir, donc à ce soir.! triste2
Revenir en haut Aller en bas
onilink_
Modérateur
avatar

Messages : 8902
Localisation : Montpellier
Projet Actuel : Planet Centauri
OniDev

MessageSujet: Re: C++: fichier bat pour lancer le compilateur[résolu]   Mer 24 Avr 2013 - 8:25

Ouaip c'est bien comme ça que ça marche :b

_________________
                 
Revenir en haut Aller en bas
centkestion
Débutant


Messages : 13
Localisation : Haute Saône

MessageSujet: Re: C++: fichier bat pour lancer le compilateur[résolu]   Mer 24 Avr 2013 - 14:21

Merci. J'essayerai de pondre cela ce soir. Il faut aussi que j'adapte mon programme avec cette possibilité.
prototyp
Revenir en haut Aller en bas
centkestion
Débutant


Messages : 13
Localisation : Haute Saône

MessageSujet: Re: C++: fichier bat pour lancer le compilateur[résolu]   Ven 26 Avr 2013 - 21:51

Bonsoir,
Bon je me dois de rendre la politesse.
J'ai pas eu beaucoup de temps ces jours-ci, mais j'ai pu tester cette dernière possibilité: avoir plusieurs fonctions à lire en même temps avec un fichier .bat.
ça marche !
J'ai pris le temps de modifier mon programme, qui me fait en un clic le fichier .h, il ne reste plus qu'à y mettre le prototype. En envoyant le fichier main à la compile, tous les fichiers sont lus et recopié dans le dossier. Le fichier est généré sans problème. C'est presque plus facile qu'avec CodeBlocks.

Pour moi ce problème est résolu, et je vais voir pour le déclarer ainsi.

Merci à vous! troll face Question: Vous n'avez pas la tête qui tourne ? rouge
Revenir en haut Aller en bas
Contenu sponsorisé




MessageSujet: Re: C++: fichier bat pour lancer le compilateur[résolu]   

Revenir en haut Aller en bas
 
C++: fichier bat pour lancer le compilateur[résolu]
Voir le sujet précédent Voir le sujet suivant Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» VISUGED
» GenoPresse, ou comment réaliser un beau livre
» Heredis 11
» Fichier PPS pour le plaisir
» Transfert de fichier lourd via Megaupload

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
Forum Le CBNA :: Développement :: Programmation-
Sauter vers: