www.mikrocontroller.net

Forum: PC-Programmierung unaufgeloeste externe Verweise


Autor: Benedikt (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht 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...

Autor: Rufus Τ. Firefly (rufus) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht 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,

Autor: Benedikt (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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...

Autor: Rufus Τ. Firefly (rufus) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Bitte. Gerne geholfen.

Weiterhin viel Spaß!

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.