Forum: Mikrocontroller und Digitale Elektronik Linker Fehler in IAR Workbench


von Gast (Gast)


Lesenswert?

Guten Abend zusammen
Ich habe ein Problem mit dem linker in der IAR Workbench. Ich möchte 
API's eines uC Herstellers verwenden, dazu habe ich die nötige Header 
Datei wie in einem Beispielprojekt eingebunden. Im Beispielprojekt 
funktioniert das einbinden der Header einweindfrei. Hier das Beispiel:
1
#include "inc/hw_types.h"
2
#include "driverlib/debug.h"
3
#include "driverlib/sysctl.h"
4
#include "drivers/rit128x96x4.h"
5
6
//*****************************************************************************
7
//
8
// The error routine that is called if the driver library encounters an error.
9
//
10
//*****************************************************************************
11
#ifdef DEBUG
12
void
13
__error__(char *pcFilename, unsigned long ulLine)
14
{
15
}
16
#endif
17
18
//*****************************************************************************
19
//
20
// Display scrolling text plus graphics on the OLED display.
21
//
22
//*****************************************************************************
23
int
24
main(void)
25
{
26
    //
27
    // Set the clocking to run directly from the crystal.
28
    //
29
    SysCtlClockSet(SYSCTL_SYSDIV_1 | SYSCTL_USE_OSC | SYSCTL_OSC_MAIN |
30
                   SYSCTL_XTAL_8MHZ);
31
    //more code
32
}
In der sysctl.h Ist der Prototyp der SysCtlClockSet Funktion als extern 
deklariert. Wenn ich nun diese Header-Datei in meine eigene Datei 
einbinde liefert der Linker folgenden Fehler:
1
Error[Li005]: no definition for "SysCtlClockSet" [referenced from blablabla
Ich habe aber auch schon unter Project -> Options -> C/C++ Compiler -> 
Preprocessor -> Additional include directories die selben Pfade 
angegeben.
Die Ordnerstruktur ist bei beiden projekten dieselbe und die Pfaddistanz 
ebenfalls.

Ich bin nun absolut Ratlos und kurz davor diese IAR Workbench mit all 
ihren Problemen in die Tonne zu werfen.....

von Gast (Gast)


Lesenswert?

Ich habe die Lösung des Problemes gefunden. ich musste eifnach nur die 
sysctl.c Datei in mein Projekt includen.

Bei den beispielprojekten musste es nicht gemacht werden, da reichte es 
das Projekt mit der Driverlib zu includen. Beim selbst erstellten wohl 
nicht

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.