Linker-Probleme mit TM4C123G

Gast #3944261
Lesenswert?

Hallo zusammen,

ich habe nun schon seit mehreren Tagen folgendes Problem:

Ich arbeite mich z.Z. in den TM4C123H6PM (mit CCS) ein und benutze dazu 
den offizielen Workshop von TI.

In Kapitel 3 gibt es eine Homework, in der man die LEDs mit den switches 
an- bzw. ausschalten soll. Dazu sollten die API-Funktionen aus der 
library der TIVAWARE benutzt werden. Wie im Screenshot zu erkennen, 
lassen sich alle Funktionen aus dem Verzeichnis "driverlib" (ebenfalls 
aus TIVAWARE) einbinden und benutzen.
Die Funktionen aus der "button.h" (auch aus TIVAWARE) werden, ich glaube 
vom Linker, nicht gefunden...
Die Properties/Preferences des Projektes sollten richtig sein, da diese 
von dem Workshop übernommen wurden. Ich habe inzwischen (nun bei Kapitel 
7 angekommen) in jedem Projekt versucht, die Funktion ButtonInit() 
aufzurufen, nie wird sie erkannt...

Ich wäre sehr dankbar, wenn mir jemand helfen könnte.

Grüße
Angehängte Dateien:
Gast #3944264
Lesenswert?

Anhang:
Das Programm aus dem Screenshot ist NICHT das Blinkprogramm! Ich will 
mit diesem Programm nur demonstrieren, dass auch andere Header-Dateien 
(hier z.B. "ustdlib.h" eingebunden werden können und diese 
funktionieren.
Nur eben die "button.h" nicht... Warum?
Persönliche Seite #3944324
Lesenswert?

Du wirst herausfinden müssen, in welcher Library die vom Linker 
bemängelten Symbole definiert sind.

Durch das Einbinden einer Headerdatei wird keine Library gelinkt; Du 
wirst die zugehörige Library zu den Linkeroptionen Deines Projektes 
hinzufügen müssen.

Das machst Du ja auch schon mit "driverlib.lib", aber da ist wohl die 
Funktion nicht enthalten.

Sieh doch mal mit dem Explorer nach, was da noch für *.lib-Dateien an 
dem Ort vorhanden sind, wo "driverlib.lib" zu finden ist. Vielleicht 
verraten deren Namen ja etwas.

Oder sieh in die zugehörige Headerdatei; vielleicht steht da ja ein 
Kommentar drin, welche Library die deklarierten Funktionen enthält.
Gast #3945266
Lesenswert?

Hi Rufus,

danke für deine Hilfe. Es funktioniert nun endlich.
Leider war ich ziemlich auf dem Holzweg. Dank Rufus habe ich das 
Verzeichnis verzweifelt nach der *.lib durchsucht. Habe auch einige 
gefunden, aber keine für die gewünschten Funktionen...

Für alle die sich so anstellen wie ich:

Es sind nur Beispiele im Ordner examples!!! Jaa... wer lesen kann ist 
klar im Vorteil...   => keine *.lib!
Also einfach die gewünschten Header und Codes in das Projekt kopieren. 
Ggf. "ROM_" vor den Funktionsaufrufen (je nach Konfiguration) entfernen 
und glücklich sein ;)

Danke nochmal für den Denkanstoß mit der *.lib, dass hat mich auf die 
richtige Spur gebracht.

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