Problem mit OpenCV



  • Hallo,
    ich hab ein Problem mit OpenCV.
    Wenn ich in Visual C++ Express die "libcv.dl" mit linken lasse, bekomme ich den Fehler "Ungültige oder beschädigte Datei...". Habe die Datei auch noch ein zweites Mal heruntergeladen, was aber nichts geändert hat.
    Woran kann das liegen?
    Gruß,
    Matthias



  • Meinst du "[..].dll"? Eine DLL kannst du nicht statisch linken.

    EDIT: Nimm die .lib-Version der Datei (und Header), falls es eine gibt. Ansonsten lad die benötigten Funktionen halt mit LoadLibrary/GetProcAddress.



  • Nein, nur mit einem "L".



  • Na ja, jedenfalls kann er sie nicht linken. Die wenigen Treffer bei Google lassen dennoch auf eine dynamisch linkbare Bibliothek schließen:

    The command ch dllink libcv.dl cv_chdl.obj $(LFLAG) builds the DLL libcv.dl[...]

    Hast du es mal mit LoadLibrary versucht? Klappt das vielleicht? Könnte ich mir schon vorstellen...



  • LoadLibrary() ist noch komischer.
    Laut Dokumentation erwartet sie ein char array, im Compiler erhalte ich dann aber einen Fehler, dass "char nicht in int konvertiert wurden konnte".

    Edit: Problem gelöst.
    Jetzt ergibt sich ein Neues:
    Die ganzen libs sind eingebunden, die Header-Datein dem Projekt hinzugefügt.
    Trotzdem bekomme ich zig Fehler "Verweis auf nicht aufgelöstes externes Symbol".



  • Webster schrieb:

    LoadLibrary() ist noch komischer.
    Laut Dokumentation erwartet sie ein char array, im Compiler erhalte ich dann aber einen Fehler, dass "char nicht in int konvertiert wurden konnte".

    😕

    Zeig mal deinen Aufruf. Das sollte doch eigentlich nur so in etwa aussehen:

    HINSTANCE hDll=LoadLibrary("libvc.dl");
    

Anmelden zum Antworten