Errori linker con libreria GLCD e pic18

12 Anni 4 Settimane fa #1 da bgvsan
Errori linker con libreria GLCD e pic18 è stato creato da bgvsan
salve a tutti.. sto cercando di usare la libreria glcd con un pic18f8722 montato su una explorer board, ma non riesco a far compilare il codice.
l'errore piu frequente è:

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

sembra come se avesse incluso piu volte lo stesso file.
nel main ho come da esempio solo questi include.
#include <p18f8722.h>
#include "GLCD_KS0108B.c"
#include "delay.c"

cambiando gli include a volte capita lo stesso errore anche su font_5x7
in altri forum di supporto viene spesso visto come una allocazione di una variabile all'interno di un file.h che deve essere solo dichiarata e quindi posta come extern.

qualcuno ha qualche idea per farla funzionare.?

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

  • bgvsan
  • Senior Member
  • Senior Member
Di più
12 Anni 4 Settimane fa #2 da StefA
Risposta da StefA al topic Re: Errori linker con libreria GLCD e pic18
la variabile delay_quartz_frequency_value è definita dentro la libreria delay...questa libreria è inclusa automaticamente dalla libreria "GLCD_KS0108B"..quindi viene inclusa due volte.
L'errorre potrebbe essere causato anche da...

#include "GLCD_KS0108B.c"
#include "delay.c"

io includo diversamente i file, faccio ad es..
#include <GLCD_KS0108B.h>
e poi aggiugo il file GLCD_KS0108B.c ai source file; inoltre aggiungo ai percorsi del compilatore il percorso del progetto.
Se non aggiungi i percorsi del progetto, poi devi andare a modificare anche dentro il file GLCD_KS0108B.h quando richiama la libreria delay, altrimenti non la trova.

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ù
12 Anni 4 Settimane fa #3 da bgvsan
Risposta da bgvsan al topic Re: Errori linker con libreria GLCD e pic18
nelle proprietà del progetto ho provveduto a includere anche la cartella del progetto stesso nella quale ho inserito tutti i file della libreria.

ho seguito il tuo consiglio tra i source ho
delay.c
glcd_ks0108b.c
main.c

nel main invece solo .h

#include <p18f8722.h>
#include <GLCD_KS0108B.h>
#include <delay.h>
#include <timers.h>

ora ho un errore diverso ma sempre del clinker
MPLINK 4.40, Linker
Device Database Version 1.3
Copyright (c) 1998-2011 Microchip Technology Inc.
make[2]: *** [dist/default/production/test.X.production.hex] Error 1
make[1]: *** [.build-conf] Error 2
Error - symbol 'font_5x7' has multiple definitions.
Errors : 1

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

  • bgvsan
  • Senior Member
  • Senior Member
Di più
12 Anni 4 Settimane fa - 12 Anni 4 Settimane fa #4 da StefA
Risposta da StefA al topic Re: Errori linker con libreria GLCD e pic18
togli dal main:
#include <delay.h>
perché è inclusa già dentro la libreria GLCD_KS0108B.h

anche se il problema dev'essere altrove...c'è una doppia inclusione del simbolo font_5x7 che è definito in GLCD_KS0108B.h, hai il file GLCD_KS0108B.h anche tra gli header file?

..avevano magari fatto lo sgambetto al ka, ma il sangue restava sempre più denso dell'acqua.. [cit.]
Ultima Modifica 12 Anni 4 Settimane fa da StefA.

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

  • StefA
  • Avatar di StefA
  • Moderator
  • Moderator
Di più
12 Anni 4 Settimane fa #5 da bgvsan
Risposta da bgvsan al topic Re: Errori linker con libreria GLCD e pic18
no nell'header non c'è nulla di incluso.. e l'errore continua a esistere

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

  • bgvsan
  • Senior Member
  • Senior Member
Di più
Moderatori: Mauro LaurentiPinnaStefAMatteo Garia

Registrati al sito

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

Registrati al sito LaurTec.

Login