Forum: PC-Programmierung unaufgeloeste externe Verweise


von Benedikt (Gast)


Angehängte Dateien:

Lesenswert?

Ich bekomme beim Compilieren eines Winamp Plugins (das ein LCD am COM
Port ansteuern soll) folgende Fehler:

--------------------Konfiguration: svis - Win32
Debug--------------------
Linker-Vorgang läuft...
   Bibliothek .\Debug/Svis.lib und Objekt .\Debug/Svis.exp wird
erstellt
Svis.obj : error LNK2001: Nichtaufgeloestes externes Symbol _SendByte
Svis.obj : error LNK2001: Nichtaufgeloestes externes Symbol
_Serial_Init
Svis.obj : error LNK2001: Nichtaufgeloestes externes Symbol
_Uninit_Serial
.\Debug/Svis.dll : fatal error LNK1120: 3 unaufgeloeste externe
Verweise
Fehler beim Ausführen von link.exe.

Svis.dll - 4 Fehler, 0 Warnung(en)


Die besagen, dass ich zwar die Header Datei (serial.h) eingebunden
habe, aber er die eigentlichen Funktionen nicht findet.
Nur warum nicht ? Die Datei serial.cpp befindet sich in demselben
Ordner, und ich habe sie auch dem Projekt hinzugefügt. Die Datei wird
auch Compiliert, denn wenn ich in serial.cpp einen Fehler einbaue
meldet er diesen.

Meiner Meinung nach müsste es also funktionieren...

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Du mischt C und C++. Auf Linkerebene haben C++-Symbole sogenannte
"dekorierte" Namen, die zusätzlich zum Namen der Funktion auch noch
Beschreibungen der Argumente enthalten.

Abhilfe:

Datei serial.cpp umbenennen in serial.c

Zusätzlich die Zeile

  #include "stdafx.h"

ersetzen durch

  #include <windows.h>

Dann musst Du nur noch in der Projektverwaltung die -hier völlig
unnötige- MFC entfernen

(Rechtsklick auf "svis files", Settings, General und da "Not using
MFC" auswählen).

Dann wird es ohne Fehler, aber mit Warnungen übersetzt.

Die Warnungen solltest Du Dir allerdings auch näher ansehen.

vor allem die #defines in der Funktion render9 gehören da nicht hin.

Allerdings wirst Du dann trotzdem noch mit Linkerfehlermeldungen
erfreut werden,

von Benedikt (Gast)


Lesenswert?

Danke, das wars !
Sowas passiert eben wenn man kein C++ kann (sondern nur C) und
unbedingt Winamp Plugins und andere Windows Programme schreiben will...

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Bitte. Gerne geholfen.

Weiterhin viel Spaß!

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.