Erreur "basic_string"
Fermé
lgslgs
-
25 févr. 2019 à 19:55
[Dal] Messages postés 6204 Date d'inscription mercredi 15 septembre 2004 Statut Contributeur Dernière intervention 27 février 2025 - 27 févr. 2019 à 17:52
[Dal] Messages postés 6204 Date d'inscription mercredi 15 septembre 2004 Statut Contributeur Dernière intervention 27 février 2025 - 27 févr. 2019 à 17:52
A voir également:
- Erreur "basic_string"
- Erreur 0x80070643 - Accueil - Windows
- Erreur 0x80070643 Windows 10 : comment résoudre le problème de la mise à jour KB5001716 - Accueil - Windows
- Erreur 1001 outlook - Accueil - Bureautique
- Instagram une erreur s'est produite ✓ - Forum Instagram
- Erreur 4201 ✓ - Forum Réseaux sociaux
1 réponse
[Dal]
Messages postés
6204
Date d'inscription
mercredi 15 septembre 2004
Statut
Contributeur
Dernière intervention
27 février 2025
1 104
Modifié le 26 févr. 2019 à 11:12
Modifié le 26 févr. 2019 à 11:12
Bonjour lgslgs,
Les erreurs "undefined reference to ..." sont des erreurs du linker. A ce stade là, la compilation de ce que tu as demandé à compiler s'est bien passée, mais l'éditeur de liaison ne sait pas fabriquer un exécutable avec les fichiers objet produits par la compilation, car certains font référence à des objets qu'ils ne trouve pas.
Compiles tu bien fonction.cpp et est-ce que tu passes bien le fichier objet fonction.o au linker ?
En ligne de commande, sous Linux :
... pas d'erreur chez moi :-)
Sur un autre plan, tu ne devrais pas mettre l'initialisation du générateur de nombres pseudo aléatoires
Dal
Les erreurs "undefined reference to ..." sont des erreurs du linker. A ce stade là, la compilation de ce que tu as demandé à compiler s'est bien passée, mais l'éditeur de liaison ne sait pas fabriquer un exécutable avec les fichiers objet produits par la compilation, car certains font référence à des objets qu'ils ne trouve pas.
Compiles tu bien fonction.cpp et est-ce que tu passes bien le fichier objet fonction.o au linker ?
En ligne de commande, sous Linux :
$ g++ -Wall main.cpp fonction.cpp
$ ./a.out
evident
... pas d'erreur chez moi :-)
Sur un autre plan, tu ne devrais pas mettre l'initialisation du générateur de nombres pseudo aléatoires
srand(time(NULL));dans ta fonction
GetNombreAlleatoire()(note aussi que tu peux retirer un "L"), car si un jour tu décides d'appeler cette fonction plusieurs fois par seconde, elle renverra le même nombre (bien que cela ne soit pas spécifié par le standard du C,
time(NULL)renvoie la date actuelle en général sous la forme du nombre de secondes depuis le 1er Janvier 1970, donc avec une résolution d'une seconde).
Dal
26 févr. 2019 à 18:18
J'utilise un IDE (codeblocks) pour compiler. Et sur la fonction GetNombreAlleatoire(), ça marche correctement car il me renvoie differents nombres
Modifié le 27 févr. 2019 à 11:00
comment as-tu ajouté fonction.cpp et fonction.h à ton projet (il ne suffit pas de copier ces fichiers dans le répertoire où se trouve main.cpp, ou de faire ) ?
pour créer des nouveaux fichiers sources ou entêtes rattachés à ton projet Codeblocks, tu dois utiliser et choisir le type de fichier à ajouter au projet en partant d'un fichier vierge. Ou, si le fichier existe déjà et que tu ne veux pas le créer, tu peux l'ajouter en faisant ...
quand les fichiers sont rattachés au projet, les fichiers sources .cpp apparaissent dans l'arborescence de gauche dans un sous-dossier "Sources" avec main.cpp et les entêtes apparaissent dans un sous-dossier "Headers"
quelque chose similaire à cela (c'est un exemple C) :
Et sur la fonction GetNombreAlleatoire(), ça marche correctement car il me renvoie differents nombres
je suppose que tu considères qu'elle marche correctement parce que tu ne l'appelles pas plus d'une fois par seconde, comme j'ai essayé de te l'expliquer... essaye ceci :-)
"aléatoire" s'écrit avec un seul L
27 févr. 2019 à 17:38
C'est ce que j'ai
27 févr. 2019 à 17:43
27 févr. 2019 à 17:52