weitere Fehlermeldung!!!



  • Jedesmal wenn ich versuche mein Programm zu compilieren bekomme ich eine
    Fehlermeldung mit der ich nichts anzufangen weiß...
    Die lautet jedes mal:
    [Linker Fehler]Unresolved external'Open Device'referenced from
    C:\EIGENE DATEIEN\C++ BUILDER\TEST2\UNIT1.OBJ

    Also, OpenDevice ist der Befehl den ich verwenden möchte und test2
    ist der Ordner in dem das Projekt abgespeichert ist.

    Ich hoffe, jemand weiß damit was anzufangen...

    Grüße melle_87



  • Wo befindet sich denn diese Funktion OpenDevice? Du musst wahrscheinlich die entsprechende Bibliothek dazulinken(.lib-datei).



  • Die entsprechende .lib und .h Datei habe ich von der Original Cd
    von Velleman.
    Die Dateien muss man ja einfach in den Ordner wo das Projekt drin ist
    reinkopieren, oder??



  • Die Lib musst du dem Linker schon mit geben, sonst kann er die Symbole nicht auflösen.



  • Ja ok.
    Jetzt stellt sich mir bloß noch die Frage, wie man dem Liker dies
    mitgibt?
    Ehrlichgesagt weiß ich nicht mal was der Linker ist... 😕



  • Der Linker kommt (normalerweise) nach dem Compiler an die Reihe. Er linkt (verbindet) deine compilierten Objektdateien zu einem ausführbaren Programm zusammen.

    Caipi



  • Ich kenne zwar den Borland C++ Builder nicht, aber probiere mal folgendes:

    #pragma comment(lib, "huhu.lib");
    

    Beim Kompilieren wird aus jeder deiner CPP-Dateien eine OBJ-Datei erstellt, dafür ist der Compiler zuständig. Findet der Compiler für deine entsprechende Funktion einen Prototyp(aus der Headerdatei), ist er zufrieden und erstellt die OBJ-Datei.
    Der Linker "linkt" danach aus die OBJ-Dateien zu einer EXE-Datei. Bei diesem Vorgang werden auch die externen Abhängigkeiten aufgelöst, also geschaut, wo die externe Funktion OpenDevice sich tatsächlich befindet. Da du in deinem Fall die bereits kompilierte Library nicht referenziert hast, kann der Linker diese Abhängigkeit nicht auflösen und meldet den Fehler. 😉



  • Also, ich hab ja erst gedacht, dass mien Programm
    mit dem angegebenen Code jetzt funktioniert, aber so
    richtig tuts immer noch nicht...
    Jetzt bringt der Compiler eine Warnung:

    [C++ Warnung]Unit1.cpp(4):W8094 Falsche Verwendung von #pragma comment
    ( <typ>[,\042string\042string])


Anmelden zum Antworten