K8055D_C - [Linker Error] Unresolved external...
-
Hallo,
ich möchte mit einem USB-Interface eine Spannung ausgeben.
Für das Interface wird die K8055D_C.dll verwendet dazu wird auch noch eine Headerdatei mitgeliefert.
Ich habe ein kleines Testprogramm geschrieben, dass den Analogen Ausgang 1 auf eine Spannung von ungefähr 2,5V (255 ist 5V) stellt.
Aber immer wenn ich es compilieren will bekomme ich die Linker errors:[Linker Fehler] Unresolved external 'OpenDevice' referenced from D:\FLUGSIMULATOR\PROGRAMMIERUNG\TEST AUSGABE\UNIT1.OBJ [Linker Fehler] Unresolved external 'OutputAnalogChannel' referenced from D:\FLUGSIMULATOR\PROGRAMMIERUNG\TEST AUSGABE\UNIT1.OBJ [Linker Fehler] Unresolved external 'CloseDevice' referenced from D:\FLUGSIMULATOR\PROGRAMMIERUNG\TEST AUSGABE\UNIT1.OBJ
Hier die Unit1.cpp:
#include <iostream.h> #include "K8055D_C.h" void main() { long erg; erg = OpenDevice(0); //Öffnet das Interface 0 cout<<erg<<endl; OutputAnalogChannel(1,127); //Setzt den Analogen Ausgang 1 auf 127 CloseDevice(); //Schließt das Interface getchar(); }
und hier die K8055D_C.h:
/************************************************************ ************************************************************* ** Microsoft Visual C++ Project for the K8055 USB I/O Card ** ** ** ** Copyright Velleman 2005 ** ** www.Velleman.be ** ** ** ** ** ** ** ** Developed by ** ** RE-Applications ** ** www.RE-Applications.be ** ************************************************************* *************************************************************/ #ifdef __cplusplus extern "C" { #endif #define FUNCTION __declspec(dllexport) FUNCTION long __stdcall OpenDevice(long CardAddress); FUNCTION __stdcall CloseDevice(); FUNCTION long __stdcall ReadAnalogChannel(long Channel); FUNCTION __stdcall ReadAllAnalog(long *Data1, long *Data2); FUNCTION __stdcall OutputAnalogChannel(long Channel, long Data); FUNCTION __stdcall OutputAllAnalog(long Data1, long Data2); FUNCTION __stdcall ClearAnalogChannel(long Channel); FUNCTION __stdcall ClearAllAnalog(); FUNCTION __stdcall SetAnalogChannel(long Channel); FUNCTION __stdcall SetAllAnalog(); FUNCTION __stdcall WriteAllDigital(long Data); FUNCTION __stdcall ClearDigitalChannel(long Channel); FUNCTION __stdcall ClearAllDigital(); FUNCTION __stdcall SetDigitalChannel(long Channel); FUNCTION __stdcall SetAllDigital(); FUNCTION bool __stdcall ReadDigitalChannel(long Channel); FUNCTION long __stdcall ReadAllDigital(); FUNCTION long __stdcall ReadCounter(long CounterNr); FUNCTION __stdcall ResetCounter(long CounterNr); FUNCTION __stdcall SetCounterDebounceTime(long CounterNr, long DebounceTime); FUNCTION __stdcall Version(); FUNCTION long __stdcall SearchDevices(); FUNCTION long __stdcall SetCurrentDevice(long lngCardAddress); #ifdef __cplusplus } #endif
Woran könnte es Liegen, dass ich die Fehlermeldungen bekomme?
Vielen Dank schon mal,
Freddy
-
Hallo
Du must die zu der DLL gehörende LIB-Datei mit in das Projekt integrieren (Projekt/Dem Projekt hinzufügen). Hast du keine LIB kannst du mit dem Builder-Tool implib.exe eine erzeugen, oder du bindest die DLL dynamisch ein. Siehe Suchfunktion hier im BCB-Forum sowie das Tutorial zu Dlls.
bis bald
akari
-
Hallo,
vielen Dank für die schnelle Antwort!Wie verwende ich die implib.exe?
Bei mir öffnet sich da nur kurz die Konsole und verschwindet sofort wiederGruß,
Freddy
-
-
Sorry....
Hat funktioniert, vielen Dank!!!
Gruß,
Freddy