Questione di stile

10 Anni 5 Mesi fa #6 da prinaldi
Risposta da prinaldi al topic Questione di stile
ho fatto la prova ed ho ricevuto questo messaggio:

MPLINK 4.45, Linker
Device Database Version 1.10
Copyright (c) 1998-2011 Microchip Technology Inc.
Error - symbol 'sub0' has multiple definitions.
Errors : 1

evidentemente non ho capito bene. Ti riallego il file con le variazioni che ho effettuato.
Grazie ancora per la pazienza, ma quando mi metto in testa qualcosa mi piacerebbe arrivare a capire come fare, anche se ovviamente ci sono altre strade.

Pierluigi

/* main.c */
#include "lib1.h"
#include "lib2.h"
void main(void){
sub0();
sub1();
sub2();
}

/* lib1.h */
#ifndef _LIB1_H
#define _LIB1_H
#ifndef _SUB0_H
#define _SUB0_H
void sub0(void);
#endif
void sub1 (void);
#endif

/* lib1.c */
#include "lib1.h"
#ifndef _SUB0_C
#define _SUB0_C
void sub0(void){
;
}
#endif
void sub1(void){
;
}

/* lib2.h */
#ifndef _LIB2_H
#define _LIB2_H
#ifndef _SUB0_H
#define _SUB0_H
void sub0(void);
#endif
void sub2 (void);
#endif

#include "lib2.h"
#ifndef _SUB0_C
#define _SUB0_C
void sub0(void){
;
}
#endif
void sub2(void){
;
}

Si prega Accedi o Crea un account a partecipare alla conversazione.

  • prinaldi
  • Junior Member
  • Junior Member
Di più
10 Anni 5 Mesi fa #7 da StefA
Risposta da StefA al topic Questione di stile
credo che anche nel file.c devi avere la stessa condizione, prova a cambiare #ifndef _SUB0_C con #ifndef _SUB0_H

Ste

..avevano magari fatto lo sgambetto al ka, ma il sangue restava sempre più denso dell'acqua.. [cit.]

Si prega Accedi o Crea un account a partecipare alla conversazione.

  • StefA
  • Avatar di StefA
  • Moderator
  • Moderator
Di più
10 Anni 5 Mesi fa #8 da prinaldi
Risposta da prinaldi al topic Questione di stile
ho Provato da questo errore:

MPLINK 4.45, Linker
Device Database Version 1.10
Copyright (c) 1998-2011 Microchip Technology Inc.
Error - could not find definition of symbol 'sub0' in file './test.o'.
Errors : 1

Pierluigi

Si prega Accedi o Crea un account a partecipare alla conversazione.

  • prinaldi
  • Junior Member
  • Junior Member
Di più
10 Anni 5 Mesi fa #9 da StefA
Risposta da StefA al topic Questione di stile
devi includere anche i file .c... quindi devi fare
#include "lib1.c".. ecc.. ecc

inoltre la condizione #ifndef deve essere sempre la stessa, sia per file.h che per file .c che per libreria 1 che per libreria 2...

..almeno credo..fai la prova..

Ste

..avevano magari fatto lo sgambetto al ka, ma il sangue restava sempre più denso dell'acqua.. [cit.]

Si prega Accedi o Crea un account a partecipare alla conversazione.

  • StefA
  • Avatar di StefA
  • Moderator
  • Moderator
Di più
Moderatori: Mauro LaurentiStefA

Registrati al sito

Accedi a tutte le risorse e articoli non visibili pubblicamente, puoi registrarti con pochi passi.

Registrati al sito LaurTec.

Login