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 wieder

    Gruß,
    Freddy



  • Hallo

    Das habe ich mit der Suchfunktion nach *implib* in einer Sekunde gefunden 🙄

    bis bald
    akari



  • Sorry....

    Hat funktioniert, vielen Dank!!!

    Gruß,
    Freddy


Log in to reply