C18 Bibliothek erstellen

OP #3021963
Lesenswert?

Ich will mir für den C18 Compiler eine GLCD Bibliothek erstellen und 
habe diese 2 Dateien erstellt. Die Funktionen funktionieren sicher, ich 
habe sie in der Main getestet. Wenn ich das Programm aber compiliere 
kommt mir die Fehlermeldung:
Error - could not find definition of symbol 'glcd_text' in file 
'./main.o'.


main:
1
#pragma config FOSC = HSHP, PLLCFG = OFF //FOSC = 20MHz
2
#pragma config PWRTEN = OFF, BOREN=SBORDIS, BORV = 250
3
#pragma config WDTEN = OFF
4

5
#include "p18f45k22.h"
6
#include "delays.h"
7

8
#include "glcd.h"
9

10
void main(void)
11
{
12
  unsigned char text[]="GLCD Touch Test";
13

14
  
15
  LATA=0x00;
16
  TRISA=0x0F;
17
  ANSELA=0x0F;
18
  
19
  LATB=0x00;
20
  TRISB=0x00;
21
  ANSELB=0x00;
22

23
  LATC=0x01;
24
  TRISC=0x00;
25
  ANSELC=0x00;
26
  
27
  LATD=0x00;
28
  TRISD=0x00;
29
  ANSELD=0x00;
30
  
31
  glcd_init();
32
  glcd_text(6,0,0,text);
33
  
34
  while(1);  
35

36
}

Der letzte Teil in der glcd.c Datei ist NICHT auskommentiert, habe die 
Flasche datei hochgeladen, der Rest stimmt.
Angehängte Dateien:
#3022030
Lesenswert?

Unter folgenden Pfad findest du das Linkerfile:
C:\Program Files\Microchip\mplabc18\v3.41\bin\LKR
Bei einem Deutschen Windows "Program Files" durch "Programme" ersetzen. 
Das Linkerfile kopierst du am besten in deinen Projektordner und fügst 
es zu deinem Projekt hinzu.
OP #3022055
Lesenswert?

Wenn ich glcd.c zum Projekt hinzufüge bekomme ich diese Fehlermeldungen:
1
D:\Desktop\Elektronik\PIC\Programme C18\GLCD_lib\glcd.c:5:Error [1105] symbol 'LATBbits' has not been defined
2
D:\Desktop\Elektronik\PIC\Programme C18\GLCD_lib\glcd.c:5:Error [1151] struct or union object designator expected
3
D:\Desktop\Elektronik\PIC\Programme C18\GLCD_lib\glcd.c:5:Error [1101] lvalue required
4
D:\Desktop\Elektronik\PIC\Programme C18\GLCD_lib\glcd.c:6:Error [1105] symbol 'LATBbits' has not been defined
5
D:\Desktop\Elektronik\PIC\Programme C18\GLCD_lib\glcd.c:6:Error [1151] struct or union object designator expected
6
D:\Desktop\Elektronik\PIC\Programme C18\GLCD_lib\glcd.c:6:Error [1101] lvalue required
7
D:\Desktop\Elektronik\PIC\Programme C18\GLCD_lib\glcd.c:7:Error [1105] symbol 'LATBbits' has not been defined
8
D:\Desktop\Elektronik\PIC\Programme C18\GLCD_lib\glcd.c:7:Error [1151] struct or union object designator expected
9
D:\Desktop\Elektronik\PIC\Programme C18\GLCD_lib\glcd.c:7:Error [1101] lvalue required
10
D:\Desktop\Elektronik\PIC\Programme C18\GLCD_lib\glcd.c:8:Error [1105] symbol 'TRISD' has not been defined
11
D:\Desktop\Elektronik\PIC\Programme C18\GLCD_lib\glcd.c:8:Error [1101] lvalue required
12
D:\Desktop\Elektronik\PIC\Programme C18\GLCD_lib\glcd.c:9:Error [1105] symbol 'PORTD' has not been defined
13
D:\Desktop\Elektronik\PIC\Programme C18\GLCD_lib\glcd.c:9:Error [1101] lvalue required
14
D:\Desktop\Elektronik\PIC\Programme C18\GLCD_lib\glcd.c:10:Error [1105] symbol 'LATBbits' has not been defined
15
D:\Desktop\Elektronik\PIC\Programme C18\GLCD_lib\glcd.c:10:Error [1151] struct or union object designator expected
16
D:\Desktop\Elektronik\PIC\Programme C18\GLCD_lib\glcd.c:10:Error [1101] lvalue required
17
D:\Desktop\Elektronik\PIC\Programme C18\GLCD_lib\glcd.c:11:Error [1105] symbol 'LATBbits' has not been defined
18
D:\Desktop\Elektronik\PIC\Programme C18\GLCD_lib\glcd.c:11:Error [1151] struct or union object designator expected
19
D:\Desktop\Elektronik\PIC\Programme C18\GLCD_lib\glcd.c:11:Error [1101] lvalue required
20
D:\Desktop\Elektronik\PIC\Programme C18\GLCD_lib\glcd.c:12:Error [1105] symbol 'LATBbits' has not been defined
21
D:\Desktop\Elektronik\PIC\Programme C18\GLCD_lib\glcd.c:12:Error [1151] struct or union object designator expected
22
D:\Desktop\Elektronik\PIC\Programme C18\GLCD_lib\glcd.c:12:Error [1101] lvalue required
23
D:\Desktop\Elektronik\PIC\Programme C18\GLCD_lib\glcd.c:13:Error [1105] symbol 'LATBbits' has not been defined
24
D:\Desktop\Elektronik\PIC\Programme C18\GLCD_lib\glcd.c:13:Error [1151] struct or union object designator expected
25
D:\Desktop\Elektronik\PIC\Programme C18\GLCD_lib\glcd.c:13:Error [1101] lvalue required
#3022063
Lesenswert?

Ich bekomme nur folgende Meldung:
C:\Documents and Settings\Nobody\Desktop\New Folder\glcd.h:169:Error: 
syntax error

EDIT:
Durch hinzufügen einer Newline am Ende von glcd.h verschwindet der 
Fehler. Dafür hab ich jetzt:
Error - symbol 'chartab' has multiple definitions.
Link step failed.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren