Funktionsrumpf falsch?



  • Hallo zusammen

    hab hier ne anwendung, wo er mir ständig ein unaufgelöstes Symbol anmeckert. Die LIB's sind es nicht. das hab ich schon geschaut.

    folgenden quellcode:

    typedef void * WDC_DEVICE_HANDLE;
    
    BOOL DLLCALLCONV WDC_AddrSpaceIsActive(WDC_DEVICE_HANDLE hDev, DWORD dwAddrSpace);
    

    ----------------------------- das waren die Prototypen ------------------------

    <Header Datei>

    DWORD dwAddrSpace;
    WDC_DEVICE_HANDLE ghDev;
    
    if (WDC_AddrSpaceIsActive(ghDev, dwAddrSpace))
    break;
    

    --------------------------- das war die CPP Datei -----------------------------

    Folgenden Fehler meldet er:

    error LNK2001: Nichtaufgeloestes externes Symbol "int __stdcall WDC_AddrSpaceIsActive(void *,unsigned long)" (?WDC_AddrSpaceIsActive@@YGHPAXK@Z)

    Hab alles schon kontrolliert; schreibweise etc. aber finde nichts

    sieht einer von euch da was?



  • MSS-Software schrieb:

    BOOL DLLCALLCONV WDC_AddrSpaceIsActive(WDC_DEVICE_HANDLE hDev, DWORD dwAddrSpace);
    

    Wo ist WDC_AddrSpaceIsActive(...) implementiert ?
    Kurt



  • das ist genau die frage, die ich mir auch stelle

    ich habe alle includes durchsucht, aber nichts gefunden

    ich schau nochmal durch



  • MSS-Software schrieb:

    das ist genau die frage, die ich mir auch stelle

    ich habe alle includes durchsucht, aber nichts gefunden

    ich schau nochmal durch

    Denke wenn du die includes durchsuchst wirst du nichts finden. Meiner Meinung liegt diese Funktion in irgend einer DLL ind du hast die entsprechende ImportLibrary nicht zu deinem Projekt dazugelinkt.
    Kurt



  • BOOL DLLCALLCONV WDC_AddrSpaceIsActive(WDC_DEVICE_HANDLE hDev, DWORD dwAddrSpace)
    {
        WDC_ADDR_DESC *pAddrDesc;
    
    #if defined(DEBUG)
        if (!WdcIsValidDevHandle(hDev))
        {
            WDC_Err("WDC_AddrSpaceIsActive: %s", WdcGetLastErrStr());
            return FALSE;
        }
    #endif
    
        pAddrDesc = WDC_GET_ADDR_DESC(hDev, dwAddrSpace);
        return (BOOL)pAddrDesc->dwBytes;
    }
    


  • Ok Du hast sie gefunden. Funktioniert es jetzt ?
    Mir ist aufgefallen dass der Linker nach int __stdcall WDC_AddrSpaceIsActive sucht und du die funktion als DLLCALLCONV declariest.
    Keine Ahnung ob das das selbe ist. ( Wahrscheinlich nicht ).
    Kurt



  • ja, funzt jetzt

    hab die c datei dem projekt hinzugefügt

    aber das gleiche kommt jetzt mit zig anderen funktionen auch

    wird der gleiche mist sein

    ist alles aus som codegenerator programm für treiber und natürlich NICHT dokumentiert, was du alles includen musst

    find ich persönlich nicht so toll



  • http://www.jungo.com/support/documentation/wdpci_man700.pdf

    und dann in dem dokument nach *.lib suchen


Anmelden zum Antworten