Einbinden von .lib /bzw. .dll



  • Hallo,

    habe hier eine Beispiel-Applikation (in C). .lib und .dll ist alles dabei (aus einer API).
    Leider kommt beim Kompilieren folgende Fehlermeldung

    LINK : fatal error LNK1104: Datei "..\debug\PROFIBUSDiagAgent.lib" kann nicht geoeffnet werden
    Fehler beim Ausführen von link.exe.
    

    Auf Nachfrage beim "Hersteller" bekam ich folgende Antwort:

    "Das mitgelieferte Beispiel mit Workspace müssen Sie noch auf Ihre Rechnerumgebung anpassen (Bibliotheks- , Includepfade etc.)"

    Kann mir jemand einen Tipp geben was ich genau jetzt machen muß?

    Bin VC++ Neuling

    Danke



  • In den Projekteinstellungen findest du den Pfad irgendwo.

    Dann mach mal einen Punkt vorne weg. Die Pfade gehen immer von da aus, wo deine dsw Datei liegt.



  • die .lib liegt sowohl im Verzeichnis der .dsw, als auch im Debug-Verzeichnis. Finde bei Projekt->Einstellung in keiner Registerkarte den Pfad "..\debug\PROFIBUS..."



  • Das muss unter Linker sein. 😕



  • Bin auf Projekte->Einstellungen->Linker:
    Links: Einstellungen für WIN32Debug, WIN32Release und Alle Konfigurationen

    Rechts: Kategorie-Allgemein, Name der Ausgabedatei: Debug/application.exe

    Objekt-/Bibliotheks-Module:
    kernel32.lib......

    ganz unten, Projekt-Optionen:
    kernel32.lib....
    PROFIBUSDiagAgent.lib /nologo /subsystem:console
    /incremental:yes /pdb:"Debug/application.pdb" /debug /machine:I386 /out:"Debug/application.exe" /pdbtype:sept

    Mehr ist da nicht

    gruß



  • Ah, ich hatte ein Brett vorm Kopf... 🙄

    Da isses doch, aber ohne Pfad. Den Pfad baut der nur für die Meldung dazu.

    Unter "Objekt-/Bibliotheks-Module:" sollte das sein.

    Aber wenn die in dem Verzeichnis liegt, dann weiß ich nicht, wieso der die nicht findet... 😕



  • in das Fenster Objekt-/Bibliotheksmodule hab ich die .lib eingetragen. Kann mir echt nicht erklären, warum das nicht geht.

    INK : fatal error LNK1104: Datei "PROFIBUSDiagAgent.lib" kann nicht geoeffnet werden
    Fehler beim Ausführen von link.exe.
    

    Der Debugger meldet mir ja, dass die Datei nicht geöffnet werden kann.

    Ich starte nochmal von vorne. 😡

    (Habe hier 3 Ornder (applikation, include, lib), da sind alle Files drin. Im applikation ordner ist ein .dsp File, das öffne ich...dann füge ich die .lib und die .dll hinzu). Dann schreibe ich die .lib in den Linker-Pfad und kompiliere das Ganze)



  • Visual C++ und die Pfade 😞

    Geht es denn, wenn du es als totalen Pfad angibst? Sonst bin ich auch ratlos, wenn du schon verschiedene Möglichkeiten ausprobiert hast. 😞



  • Du meinst den totalen Pfad in das Objekt-/Bibliotheksmodule reinschreiben?

    gruß



  • Ja, als Notlösung geht das. So richtig mit c:\bla meine ich.
    Wenn das ein Demoprojekt ist, willst du ja vielleicht nur ein paar Tage gucken und verschiebst es dabei nicht dauernd. 🙂



  • Hab jetzt den totalen Pfad da rein geschrieben, jetzt kommt folgende Meldung:

    LINK : fatal error LNK1104: Datei "C:\Dokumente.obj" kann nicht geoeffnet werden
    Fehler beim Ausführen von link.exe.
    

    😕



  • Hab jetzt den kompletten Pfad drin, ohne Leerzeichen (deshalb vorangegangene Meldung), aber immer noch:

    LINK : fatal error LNK1104: Datei "C:\DokumenteundEinstellungen\Lehmann\Desktop\DiagAPI\lib\PROFIBUSDiagAgent.lib" kann nicht geoeffnet werden
    Fehler beim Ausführen von link.exe.
    

    Da krisch Plack!!! 😮



  • Aber der Ordner auf der Festplatte hat doch Leerzeichen, das kann doch nicht gehen. 😮

    Versuch mal:
    C:\Dokume~1\Lehmann\Desktop\DiagAPI\lib\PROFIBUSDiagAgent.lib

    Wenns dann noch nicht geht würde ich die lib wo hin legen, wo kein Leerzeichen im Pfad ist. C:\temp oder so. 🙄



  • Hab jetzt den Projektordner direkt auf c: gelegt, aber das hilft auch nix, kommt immer die gleiche Fehlermeldung.

    "I wish I had a Hammer..." 😡

    Trotzdem Danke 👍


Anmelden zum Antworten