CONNEXION
  • RetourJeux
    • Sorties
    • Hit Parade
    • Les + populaires
    • Les + attendus
    • Soluces
    • Tous les Jeux
    • Gaming
  • RetourActu Gaming
    • News
    • Astuces
    • Tests
    • Previews
    • Toute l'actu gaming
  • RetourBons plans
    • Bons plans
    • Bons plans Smartphone
    • Bons plans Hardware
    • Bons plans Image et Son
    • Bons plans Amazon
    • Bons plans Cdiscount
    • Bons plans Decathlon
    • Bons plans Fnac
    • Tous les Bons plans
  • RetourJVTech
    • Actus High-Tech
    • Intelligence Artificielle
    • Smartphones
    • Mobilité urbaine
    • Hardware
    • Image et son
    • Tutoriels
    • Tests produits High-Tech
    • Guides d'achat High-Tech
    • JVTech
  • RetourCulture
    • Actus Culture
    • Culture
  • RetourVidéos
    • A la une
    • Gaming Live
    • Vidéos Tests
    • Vidéos Previews
    • Gameplay
    • Trailers
    • Chroniques
    • Replay Web TV
    • Toutes les vidéos
  • RetourForums
    • Hardware PC
    • PS5
    • Switch 2
    • Xbox Series
    • Switch
    • Pokemon pocket
    • FC 25 Ultimate Team
    • League of Legends
    • Tous les Forums
  • PC
  • PS5
  • Xbox Series
  • Switch 2
  • PS4
  • One
  • Switch
  • iOS
  • Android
  • MMO
  • RPG
  • FPS
En ce moment Genshin Impact Valhalla Breath of the wild Animal Crossing GTA 5 Red dead 2
Liste des sujets

Mes premiers programme en c++ :bave:

Iliketo
Iliketo
Niveau 10
02 septembre 2012 à 04:28:11

sinon maintenant que j'ai appris les structure avec les fonction sa va pas faire un peu le bordel ?
comment on fait pour programmer un main un .cpp et un .hpp avec la console ? :(

Neofungamer
Neofungamer
Niveau 22
02 septembre 2012 à 05:05:32

2 solutions :

soit tu fais un Makefile (bonne solution selon moi mais faudra vérifier si ton ordinateur sait comprendre les makefile)
soit tu compiles en plusieurs étapes :

tu as main.cpp lib.hpp lib.cpp

tu fais :

g++ -c lib.cpp
g++ -c main.cpp

(en gros faut faire la commande avec chaque .cpp)
(ça va créer lib.o et main.o)

Maintenant faut lier tout ça :

g++ -o main.exe main.o lib.o

donc là on demande de créer un main.exe à partir des .o

Essaie maintenant :)

Iliketo
Iliketo
Niveau 10
02 septembre 2012 à 05:25:15

sa marche :)

mais sa veux dire que si un jour je fait un gros projet je dois compilé tous les fichier ? :hap:

sinon comment vérifier si mon pc comprend le makefile ? :(

Ah quand j'utilisé code blocks mes fichier .hpp contenté 3 ligne qui servais a s'assuré que le fichier ne sera pas appelé 2 fois mais si je veux le cpp du fichier dans le main et dans un autre cpp je dois appelé deux fois le .hpp donc je dois supprimer ces ligne ?

hyrulink2
hyrulink2
Niveau 7
02 septembre 2012 à 14:31:34

Tu doit parler des

  1. ifndef BLABLA
  2. define BLABLA

...

  1. endif

?

Si c'est ça ne supprime SURTOUT PAS ces lignes sinon ça va être le bordel. Comme tu le dit elles servent à ne pas inclure 2 fois le même fichier dans un .cpp mais elles n'empêchent pas de l'inclure dans 2 .cpp différents.
Il faut toujours que ces lignes soient présentes dans un ficher .hpp (ou .h), avec BLABLA différent pour chaque fichier bien sur.
Une convention est de faire BLABLA=NOM_DU_FICHIER_H_ donc si ton fichier c'est calcul.hpp par exemple BLABLA sera CALCUL_H_. Je te dit ça parce que CodeBlocks les mets mais un jour tu devra bien le faire toi même.

hyrulink2
hyrulink2
Niveau 7
02 septembre 2012 à 14:42:25

Pour vérifier que ton pc comprends Makefile tu tapes make dans l'invité de commandes mais si tu poses la question je doute que tu ai installé make. De toutes façon avec CodeBlocks tu n'a pas besoin de ça tu fais F5 et ça va compiler, linker et executer pour toi du moment que tu a ajouté les fichiers dans le projet CodeBlocks.

chris_27
chris_27
Niveau 10
02 septembre 2012 à 15:06:59

neofungamer: oui, MinGW gère les makefile (c'est sans doute l'intérêt numéro 0 de MinGW d'ailleurs).

Une fois qu'il aura réussi une compilation séparée tout seul, prépare lui un Makefile passe partout et qu'on passe à de vraies choses. :oui:

Iliketo
Iliketo
Niveau 10
02 septembre 2012 à 20:59:10

"Je te dit ça parce que CodeBlocks les mets mais un jour tu devra bien le faire toi même."

se jours est arrivé :o))

"mais si tu poses la question je doute que tu ai installé make."

J'ai trouvé sur le net plein de logiciel du genre : cmake , scons et ccbuild tu me conseille lequel ?

"et qu'on passe à de vraies choses."

:cute:

Winterd
Winterd
Niveau 1
03 septembre 2012 à 15:08:46

Cmake ne permet pas directement de compiler un exécutable, il va seulement te générer d'autres fichiers te le permettant, ces derniers peuvent être des makefiles, des projets pour divers logiciels (C::B, VS...) etc...
Pour ce qui est du mingw, pour pouvoir compiler avec en ligne de commande il faut que tu suive ses quelques indications :

-> Ajoute dans un premiers temps le chemin de l'emplacement /Mingw/bin (qui se trouve normalement dans ton répertoire d'installation de C::B) dans la variable d'environnement "Path" que tu retrouve dans panneau de configuration -> utilisateurs. Fait bien attention d'avoir un ";" à la fin sinon cela ne fonctionnera pas.

-> Ouvre le shell window ( démarrer -> cmd ) et tape mingw32-make ou g++. Dans le cas où il t'indique qu'il ne connais pas la commande, deux possibilités, soit tu as mal ajouter le chemin, soit tu es obligé de reboot pour prendre en compte les paramètres. Dans le cas contraire, tout fonctionne.

Tu peux aussi te rendre sur le site de MinGW où tu trouveras toutes les informations essentielles à son fonctionnement.

Iliketo
Iliketo
Niveau 10
03 septembre 2012 à 22:28:13

winterD je viens de télécharger cmake et je dis pas non a un manuelle d'utilisation :-)

par contre pour la console sa marche très bien merci :)

Neofungamer
Neofungamer
Niveau 22
04 septembre 2012 à 00:20:45

iLIKEto, je pense que cmake ne te servira pas.
par contre, essaie la commande : mingw32-make

si ça fonctionne, je te prépare un exemple avec un makefile et tu pourras voir si ça marche.

Ensuite plutôt que de taper tes commandes tu feras juste "mingw32-make" et ça compilera ton projet tout comme il faut.

Magique :)

Iliketo
Iliketo
Niveau 10
04 septembre 2012 à 00:42:00

https://image.noelshack.com/fichiers/2012/36/1346711889-screenshot003.png

Elle est reconnue ? :hap:

Neofungamer
Neofungamer
Niveau 22
04 septembre 2012 à 03:23:31

Parfait, tu vas pouvoir tester les makefiles !!!!

Alors tu vas mettre dans un dossier 3 fichiers.

Makefile
http://pastebin.com/RRREu1G3

main.cpp
http://pastebin.com/SBXiQfzA

common.hpp
http://pastebin.com/niBjJsYY

common.cpp
http://pastebin.com/cWr8tm18

puis tu vas te mettre dans le dossier et taper :

mingw32-make

et puis tu pourras executer main.exe
Ensuite, peux tu essayer de comprendre le Makefile que je t'ai donné. Ce n'est pas le plus simple mais ça passe facilement partout.

Neofungamer
Neofungamer
Niveau 22
04 septembre 2012 à 03:28:10

J'ai fais une bêtise sur le fichier Makefile

voilà le bon : http://pastebin.com/LiW1QjRn

Iliketo
Iliketo
Niveau 10
04 septembre 2012 à 03:59:21

Je vais essayé de comprendre je promet rien :hap:

CC=g++
partous ou en vois CC en le remplace par g++

CXXFLAGS=-Werror -Wall -Wextra
pareille que pour le CC

LDFLAGS=
il manquerai pas un truc après le = la ? :noel:

EXEC=main.exe
pareille que pour le CC :p)

SRC= $(wildcard *.cpp)
OBJ= $(SRC:.cpp=.o)
la j'ai pas compris par quoi en les remplace mais bon on les remplace quand même :o))

main.exe: $(OBJ)
$(CC) -o $@ $^ $(LDFLAGS)
j'ai pas trop compris la mais une chose est sur on obtiens un .exe :p)

main.o: common.hpp le .hpp ( .hpp ? :ouch2: ) deviens un .o

%.o: %.cpp
$(CC) -o $@ -c $< $(CXXFLAGS)

la on compile le .exe et le .o pour obtenir le fichier final

le reste c'est des commentaire non ? :(

Neofungamer
Neofungamer
Niveau 22
04 septembre 2012 à 20:15:42

tout est là au sujet des makefiles :

http://gl.developpez.com/tutoriel/outil/makefile/

Iliketo
Iliketo
Niveau 10
06 septembre 2012 à 03:09:36

désolé de répondre que maintenant j'avais quelque truc a faire :)

En faite je sais toujours pas quoi maître après le . du fichier makefile si je le laisse sans point il devient un .txt et sa marche pas :(

Iliketo
Iliketo
Niveau 10
06 septembre 2012 à 03:10:25

Ah et merci pour le lien mais j'ai pas tous compris je vais me contenté de prendre ton exemple comme base :hap:

Neofungamer
Neofungamer
Niveau 22
06 septembre 2012 à 03:17:07

utilise notepad++ au lieu de notepad

http://notepad-plus-plus.org/fr/

Il te permettra d'enregistrer ton fichier comme tu le souhaiteras.

Utilise l'exemple du makefile pour le moment. Ca va aller. Tu comprendras petit à petit.

Je te propose aussi de prendre l'exercice de ton choix et de le faire dans plusieurs fichiers pour voir si t'as bien compris

Iliketo
Iliketo
Niveau 10
06 septembre 2012 à 03:41:32

https://image.noelshack.com/fichiers/2012/36/1346895467-screenshot004.png

comme tu le voie j'utilise bien notpad++ ^^

"Il te permettra d'enregistrer ton fichier comme tu le souhaiteras. "

sauf que je ne sait pas comment l'enregistrer la j'ai fait .makefile mais sa marche toujours pas :-(

"Utilise l'exemple du makefile pour le moment. Ca va aller. Tu comprendras petit à petit. "

D'accord :-)

Neofungamer
Neofungamer
Niveau 22
06 septembre 2012 à 05:15:26

Essaie de faire fichier puis renommer sur notepad ++ sinon dans ton terminal taper rename à.makefile Makefile

Sous forums
  • Aide à l'achat Mac
  • Création de Jeux
  • Linux
  • Création de sites web
  • Programmation
  • Internet
  • Steam Deck
  • Macintosh
  • Hardware
La vidéo du moment