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

Tuto erroné ?

myhideout
myhideout
Niveau 7
19 octobre 2013 à 15:16:32

Salut,

Pour démarrer un projet en POO, je me suis basé sur le tuto :

http://fr.wikibooks.org/wiki/Programmation_C%2B%2B_%28d%C3%A9butant%29/Les_classes

Et arrivé à l'utilisation des accesseurs/mutateurs situés dans le fichier .cpp (Point.cpp dans ce tuto), j'avais l'erreur "réference indéfinie vers ..." pour chaque accesseur/mutateur que j'utilisais .

test.cpp : http://pastebin.com/DF7PGGzz
Carac.h : http://pastebin.com/E6LVPsr0
Carac.cpp : http://pastebin.com/f9zB29wR
Erreurs : http://pastebin.com/y6Aw5FYt

Et là je me suis dit " ben oui :( le main.cpp inclus le Point.h, le Point.cpp inclus le Point.h, mais personne n'inclus le .cpp donc le compilateur ne peut pas faire de lien vers ces fonctions :( "

Du coup j'ai testé une solution : include mon .cpp dans mon main et là plus d'erreur, le proramme fonctionne .

Qui est en faute ? le tuto, ou moi ? et pourquoi ? :question:

myhideout
myhideout
Niveau 7
19 octobre 2013 à 15:28:40

En regardant un projet généré part Qt, le .cpp n'est jamais inclu ..

http://images.wikia.com/glee/images/e/eb/What-kind-of-sorcery-is-this.jpg

Google_Bot
Google_Bot
Niveau 14
19 octobre 2013 à 15:36:10

On n'inclut pas de .cpp ni de .c, on inclut des .h .

Si tu bosses avec un IDE, tu as oublié d'inclure le .cpp à ton projet courant, et de dire à l'IDE de le compiler avec le reste.
Si tu bosses avec un Makefile, ton Makefile est mal foutu car tu ne compiles pas le fichier .cpp en question, ou alors tu oublies de rattacher le .o obtenu à la compil pour la création de l'exécutable final.

myhideout
myhideout
Niveau 7
19 octobre 2013 à 15:41:34

Ah d'accord, je suis dans gedit, sans makefile je suppose que l'erreur vient de là :hap:

myhideout
myhideout
Niveau 7
19 octobre 2013 à 16:02:10

Oui .

Google_Bot
Google_Bot
Niveau 14
19 octobre 2013 à 20:27:32

On me souffle à l'oreillette que dans le cas particulier des patrons de fonctions (ce qui n'a rien à voir avec ton problème actuel pour autant), on peut être amené à inclure des .cpp.
Mais c'est la seule situation.

Essaie un peu de te renseigner sur les étapes d'une compilation à proprement parler (compilation au sens préprocesseur, compilations successives et édition de liens), tu comprendras mieux ce que doit contenir un Makefile pour que make aboutisse. :oui:

undrgrnd
undrgrnd
Niveau 9
19 octobre 2013 à 21:36:13

Les patrons de fonctions ne sont presque jamais utilisé, et il vaut mieux partir du principe que l'on n'inclut pas de .cpp.

godrik
godrik
Niveau 30
19 octobre 2013 à 23:10:25

"Les patrons de fonctions ne sont presque jamais utilisé"

What the hell!? Les patrons de fonctions sont TRES utilise. Mais c'est une notion avance que beaucoup de programmeur ne comprennent pas. Mais c'est une notion centrale de l'abstraction en C++.

undrgrnd
undrgrnd
Niveau 9
19 octobre 2013 à 23:17:31

My bad, tu as raison, je pense que ma nuit blanche m'a fait mal à la tête haha

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