Go Down

Topic: [RESOLU] Utilisation de classe dans une classe "undefined reference to" (Read 1 time) previous topic - next topic

Reynosa

Bonsoir !

Je m'excuse d'avance de vous prendre du temps pour mon problème de codage, qui doit être tout simple... je ne sais pas si c'est l'heure ou autre chose, mais ça fait plusieurs heures que je cherche en vain... je suis aveugle ce soir. :smiley-sleep:
J'espère qu'un regard neuf là dessus pourra me sortir de là  :~
Je vous laisse voir la screen:

les fichiers correspondant sont en pièces jointes.
Merci !

barbudor

Bonjour
Plutot qu'une copie d'écran, il est préférable de copier le texte (ctrl-c / crrl-v)
Il manque aussi le ino

Mais surtout on ne voit pas le debut des erreurs de compil

Je parie qu'il ne trouve pas motor.h
Barbuduino: Arduino sur Breadboard & VinciDuino: Clone Leonardo // WR703: Mini-routeur hacké // LauchPad MSP430 et Stellaris // Panda II Arduino-like .NetMF sous VisualC#
RTFC: Read That F.....g Code / RTFD: Read That F.....g Doc / RTFDS: Read That F.....g DataSheet / RTFS: Read That F.....g Schematic / Wot da ya wanna D.I.Y. today ?

Reynosa

#2
Dec 30, 2012, 04:32 pm Last Edit: Dec 30, 2012, 08:56 pm by Reynosa Reason: 1
Bonjour.
Merci pour la réponse !

C'est tout ce que j'ai en erreur de compilation !
Quote
QUADRICOPTER\QUADRICOPTER.cpp.o: In function `QUADRICOPTER':
C:\Users\HéliX\Documents\Arduino\libraries\QUADRICOPTER/QUADRICOPTER.cpp:8: undefined reference to `MOTOR::MOTOR(unsigned char, unsigned int, unsigned int)'
C:\Users\HéliX\Documents\Arduino\libraries\QUADRICOPTER/QUADRICOPTER.cpp:9: undefined reference to `MOTOR::MOTOR(unsigned char, unsigned int, unsigned int)'
C:\Users\HéliX\Documents\Arduino\libraries\QUADRICOPTER/QUADRICOPTER.cpp:10: undefined reference to `MOTOR::MOTOR(unsigned char, unsigned int, unsigned int)'
C:\Users\HéliX\Documents\Arduino\libraries\QUADRICOPTER/QUADRICOPTER.cpp:11: undefined reference to `MOTOR::MOTOR(unsigned char, unsigned int, unsigned int)'
C:\Users\HéliX\Documents\Arduino\libraries\QUADRICOPTER/QUADRICOPTER.cpp:12: undefined reference to `GYROSCOPE::GYROSCOPE()'


Maintenant le ino:
Code: [Select]
#include <Servo.h>
#include <inttypes.h>
#include "configuration.h"
#include "def.h"
#include <RADIOCOMMAND.h>
#include <QUADRICOPTER.h>

RADIOCOMMAND Radio(THROTTLE_PIN, YAW_PIN, PITCH_PIN, ROLL_PIN);
QUADRICOPTER Quadri(MOT_A_PIN, MOT_B_PIN, MOT_C_PIN, MOT_D_PIN, PULSE_MOTOR_WIDTH_MIN, PULSE_MOTOR_WIDTH_MAX);

void setup()
{
}

void loop()
{
 // Petit Check batterie
 if (Quadri.etatBatterie() == Q_BAT_HS)
   Quadri.LED_etatBatterie(Q_BLINK);
 
 // Condition de mise route
 while (Radio.isRTF() != Q_READY_TO_FLY);
 
 /***************************/
 /* PHASE DE CONTROL DE VOL */
 /***************************/
 Quadri.setConsignesDeVol(/*quelque chose*/);
 Quadri.CorrectionsDeVol(/* éventuellement quelques chose *unknown 4 the moment* */);
}


S'il ne trouvait pas le motor.h il devrait me le dire étend donné que je l'inclus dans QUADRICOPTER.h ?
Dans tous mes essaies j'ai essayé d'inclure directement motor.h dans le QUADRICOPTER.cpp et ça ne change strictement rien  :~

barbudor

Pas facile d'essayer de reproduire ton problème, il manque encore plein de fichiers.
Quoi qu'il en soit j'arrive a compiler QUADRICOPTER et MOTOR
Je ne tombe pas sur ton erreur mais j'ai du bricoler les chemins d'accès aux fichier include pour arriver a compiler quelque chose. Donc je pense que tu as un problème de ce coté là.
Peut être ne va t'il pas chercher le MOTOR.h que tu crois .....

Essaye de créer une erreur volontaire dans ton MOTOR.h pour voir s'il la trouve :
Code: [Select]
#error Est-qu'il passe par ici ?


Par contre je voit d'autres erreurs plutot graves a corriger :
Code: [Select]
motor.cpp: In member function 'void MOTOR::writeVitesse(uint8_t)':
motor.cpp:19: warning: division by zero

QUADRICOPTER.cpp: In member function 'boolean QUADRICOPTER::etatBatterie()':
QUADRICOPTER.cpp:25: warning: no return statement in function returning non-void
QUADRICOPTER.cpp:25: warning: control reaches end of non-void function
Barbuduino: Arduino sur Breadboard & VinciDuino: Clone Leonardo // WR703: Mini-routeur hacké // LauchPad MSP430 et Stellaris // Panda II Arduino-like .NetMF sous VisualC#
RTFC: Read That F.....g Code / RTFD: Read That F.....g Doc / RTFDS: Read That F.....g DataSheet / RTFS: Read That F.....g Schematic / Wot da ya wanna D.I.Y. today ?

Reynosa

J'ai rajouté la ptite ligne au milieu de la classe et la compilateur passe bien par là.
Code: [Select]
In file included from C:\Users\HéliX\Documents\Arduino\libraries\QUADRICOPTER/QUADRICOPTER.h:7,
                 from Helixcopter.ino:6:
C:\Users\HéliX\Documents\Arduino\libraries\QUADRICOPTER/includes\motor.h:17:4: error: #error Est-qu'il passe par ici ?

Au fur et à mesure des tests j'avais des fichiers qui se baladait par tout. J'ai donc tout supprimé et gardé les indispensables. J'ai tout recompilé et j'ai toujours l'erreur.
Pour simplifier ce topic je joins donc tout mon dossier arduino (le projet entier avec les librairies) pour que vous puissiez reproduire ma compilation.

En ce qui concerne la division par zéro je ne sais pas trop quoi dire... 255/1000 ne donne pas zéro pour moi ^^ les autres warning c'est parce que les fonctions ne sont pas encore implémentées.

Encore merci pour votre aide !

Go Up