Forum: Analoge Elektronik und Schaltungstechnik DAQ Measurement computing


von leroi (Gast)


Lesenswert?

Hallo Freunde, ich war letzten Montag schon hier, und hoffe, dass ich 
noch einmal auf eure Unterstützung zählen darf.

Und zwar geht es wieder um eine Messkarte von DAQ Measurement computing 
(PCI-DAS1602/12).

Mein PC erkennt die Karte, mit dem Programm Tracer DAQ ist es problemlos 
möglich die Daten an den Eingängen zu messen und zu loggen. Ich möchte 
die Karte aber über ein C-Skript ansteuern.

Ich benutze Code-Blocks als Programierumgebung. Mein Problem ist nun:

Obwohl ich die Bibliothek eingebunden habe:


/* Include files */
#include <windows.h>
#include <stdio.h>
#include <conio.h>
#include "..\cbw.h"


erhalte ich die Fehlermeldung:

undefined reference to `cbGetBoardName@8'

wenn ich z.B. die Funktion cbGetBoardName aufrufe. Das sieht für mich so 
aus, als ob der Compiler die Bibliothek nicht sieht.

Kann mir jemand von euch bestätigen, dass das wirklich das Problem ist?

Oder noch besser, kann mir jemand von euch einen Tipp geben, um das 
Problem zu lösen.

Vielen Dank,
leroi

von Faultier (Gast)


Lesenswert?

Hm.

Obwohl Du geschrieben hast:

> ... die Bibliothek eingebunden habe:

kommt danach ein include der Header-Dateien

/* Include files */
#include <windows.h>
#include <stdio.h>
#include <conio.h>
#include "..\cbw.h"

Ist Dir klar, das Du damit NICHT "die Bibliothek" eingebunden hast?

Das muss beim Linken geschehen.

von leroi (Gast)


Lesenswert?

Hallo Faultier,

vielen Dank für deine Antwort. Nein, das war mir nicht klar... Meine 
c-Fähigkeiten sind schon ziemlich eingerostet.

Aber das ist gut, schon wieder einen Schritt näher an der Lösung.

Das heisst, der Compiler sieht die Funktion tatsächlich nicht. Ich werde 
mich nun darum kümmern die Bibliothek richtig in CodeBlocks einzubinden.

Wenn mir jemand Tipps geben könnte umso besser.

Vielen Dank

von Faultier (Gast)


Lesenswert?

>Das heisst, der Compiler sieht die Funktion tatsächlich nicht.

Nein. Das heisst es nicht. Das ist eine Fehlermeldung des Linkers. Dem 
Compiler ist das egal.

Du müsstest Die Fehlermeldung in der Ausgabe auch NACH dem Aufruf des 
Linkers sehen.

von Faultier (Gast)


Lesenswert?

>Wenn mir jemand Tipps geben könnte umso besser.

Häh? Was willst Du da jetzt noch für Tips. Du musst die Bibliothek 
einfach beim Linken angeben. Die zugeähörige Option findest Du in der 
Dokumentation zum Linker.

von leroi (Gast)


Lesenswert?

Das war doch schon ein Tipp, danke.

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.