Edition des liens: "symbol has different size"
Bonjour à tous,
Je travaille sur un micro-contrôleur Freescale 68HC12 avec la suite Metrowerks CodeWarrior. Lors de l'édition des liens, j'ai un warning qui m'est incompréhensible : "L1827: Symbol __as__appFRC3app has different size in app.cpp.o (102 bytes) and main.cpp.o (103 bytes)"...
Voici le fichier app.h :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34
|
#ifndef APP_H
#define APP_H
#include "btn.h"
#include "pot.h"
#include "brt.h"
// #include "led.h"
class app
{
private:
btn bouton1;
btn bouton2;
pot poti1;
pot poti2;
inp* inputs[ 4 ];
brt bruiteur;
int frequence;
int volume;
int on;
public:
app();
void Init();
void ScanInputs();
void RefreshOutputs();
};
#endif |
et le main.cpp :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45
|
#include <hidef.h> /* common defines and macros */
#include <mc9s12dp256.h> /* derivative information */
#include "OS.h"
#include "OS_Task.h"
#include "app.h"
#include "stack.h"
#pragma LINK_INFO DERIVATIVE "mc9s12dp256b"
#define COP_RESET() ARMCOP = 0x00
app Application;
extern "C" void taskScan( void )
{
Application.ScanInputs();
}
extern "C" void taskRefresh( void )
{
Application.RefreshOutputs();
}
extern "C" void taskFeedCop( void )
{
_FEED_COP();
}
extern "C" void taskCheckStack( void )
{
if ( !STACK_chk() )
COP_RESET();
}
void main( void )
{
OS_Init();
Application.Init();
OS_Run();
} |
Le truc étrange, c'est que si j'enlève le commentaire pour l'inclusion de "led.h" dans le fichier app.h (cette inclusion n'est pourtant pas nécessaire), le warning disparaît 8O
Est-ce que quelqu'un aurait une idée du problème ? Merci...