AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

[C++] Linkerproblem

Ein Thema von Matze · begonnen am 14. Mai 2007 · letzter Beitrag vom 14. Mai 2007
Antwort Antwort
Benutzerbild von Matze
Matze
(Co-Admin)

Registriert seit: 7. Jul 2003
Ort: Schwabenländle
14.929 Beiträge
 
Turbo Delphi für Win32
 
#1

[C++] Linkerproblem

  Alt 14. Mai 2007, 14:57
Hi,

gestern ließ sich mein Projekt noch einwandfrei kompilieren, doch heute nicht mehr. Ich musste erneut einstellen, dass die LIBCMTD.lib beim Linken ignoriert werden soll, doch erhalte ich nun diese Fehler:

Zitat:
Linking...
tiny_snake.obj : error LNK2019: unresolved external symbol "public: void __thiscall cl_snake::paint_head(void)" (?paint_head@cl_snake@@QAEXXZ) referenced in function _main
tiny_snake.obj : error LNK2019: unresolved external symbol "public: void __thiscall cl_map::print_map_a_star(int)" (?print_map_a_star@cl_map@@QAEXH@Z) referenced in function _main
tiny_snake.obj : error LNK2019: unresolved external symbol "public: void __thiscall cl_snake::paint_snake(bool)" (?paint_snake@cl_snake@@QAEX_N@Z) referenced in function _main
tiny_snake.obj : error LNK2019: unresolved external symbol "public: void __thiscall cl_snake::move(void)" (?move@cl_snake@@QAEXXZ) referenced in function _main
tiny_snake.obj : error LNK2019: unresolved external symbol "char __cdecl a_star(class cl_map *,class cl_food *,class cl_snake *,int,int,bool)" (?a_star@@YADPAVcl_map@@PAVcl_food@@PAVcl_snake@@H H_N@Z) referenced in function _main
tiny_snake.obj : error LNK2019: unresolved external symbol "public: void __thiscall cl_snake::set_direction(char)" (?set_direction@cl_snake@@QAEXD@Z) referenced in function _main
tiny_snake.obj : error LNK2019: unresolved external symbol "public: void __thiscall cl_snake::initialize(void)" (?initialize@cl_snake@@QAEXXZ) referenced in function _main
tiny_snake.obj : error LNK2019: unresolved external symbol "public: void __thiscall cl_map::paint_map(void)" (?paint_map@cl_map@@QAEXXZ) referenced in function _main
tiny_snake.obj : error LNK2019: unresolved external symbol "public: __thiscall cl_snake::cl_snake(int,class cl_map *,class cl_food *,bool)" (??0cl_snake@@QAE@HPAVcl_map@@PAVcl_food@@_N@Z) referenced in function _main
tiny_snake.obj : error LNK2019: unresolved external symbol "public: __thiscall cl_food::cl_food(class cl_map *)" (??0cl_food@@QAE@PAVcl_map@@@Z) referenced in function _main
tiny_snake.obj : error LNK2019: unresolved external symbol "public: __thiscall cl_map::cl_map(void)" (??0cl_map@@QAE@XZ) referenced in function _main
tiny_snake.obj : error LNK2019: unresolved external symbol "public: __thiscall cl_snake::~cl_snake(void)" (??1cl_snake@@QAE@XZ) referenced in function "public: void * __thiscall cl_snake::`scalar deleting destructor'(unsigned int)" (??_Gcl_snake@@QAEPAXI@Z)
tiny_snake.obj : error LNK2019: unresolved external symbol "public: __thiscall cl_map::~cl_map(void)" (??1cl_map@@QAE@XZ) referenced in function "public: void * __thiscall cl_map::`scalar deleting destructor'(unsigned int)" (??_Gcl_map@@QAEPAXI@Z)
tiny_snake.obj : error LNK2019: unresolved external symbol "public: __thiscall cl_food::~cl_food(void)" (??1cl_food@@QAE@XZ) referenced in function "public: void * __thiscall cl_food::`scalar deleting destructor'(unsigned int)" (??_Gcl_food@@QAEPAXI@Z)
.\Debug/tiny_snake.exe : fatal error LNK1120: 14 unresolved externals
Build log was saved at "file://d:\Eigene Dateien\FHTE\Vorlesungen\Informatik 1\Workspace\tiny_snake\Debug\BuildLog.htm"
tiny_snake - 15 error(s), 0 warning(s)
========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========
Was bedeutet das denn? Beim Linker musste ich sonst nichts einstellen.
Und wie kann es sein, dass meine Projekteinstellungen verloren gegangen sind, die müsste es doch irgendwo speichern?

Edit: Auch Dinge wie @@QAEPAXI@Z sagen mir überhaupt nichts.
  Mit Zitat antworten Zitat
Benutzerbild von ste_ett
ste_ett

Registriert seit: 10. Sep 2004
Ort: Dülmen
464 Beiträge
 
Delphi 7 Professional
 
#2

Re: [C++] Linkerproblem

  Alt 14. Mai 2007, 15:12
Durch das Ignorieren der Datei "LIBCMTD.lib", die alle Funktionen bereitstellt, fehlen dem Linker ein paar Funktionen.
Stefan
"Geht nicht!" ist keine Fehlerbeschreibung und "Hab ich schon versucht!" keine Antwort!

Hey, it compiles! Ship it!
  Mit Zitat antworten Zitat
hoika

Registriert seit: 5. Jul 2006
Ort: Magdeburg
8.270 Beiträge
 
Delphi 10.4 Sydney
 
#3

Re: [C++] Linkerproblem

  Alt 14. Mai 2007, 15:18
Hallo,

du musst die Klasse mitlinken,
in der cl_snake definiert ist.
Gugg mal im MakeFile.

das @dd@2233 sind c++-Dekorierer,
sie zeigen die Anzahl und Art der Parameter
einer Funktion an (somit können Funktionen überladen werden).


Heiko
Heiko
  Mit Zitat antworten Zitat
Benutzerbild von Matze
Matze
(Co-Admin)

Registriert seit: 7. Jul 2003
Ort: Schwabenländle
14.929 Beiträge
 
Turbo Delphi für Win32
 
#4

Re: [C++] Linkerproblem

  Alt 14. Mai 2007, 15:27
Zitat von ste_ett:
Durch das Ignorieren der Datei "LIBCMTD.lib", die alle Funktionen bereitstellt, fehlen dem Linker ein paar Funktionen.
Die muss ich ignorieren, da einige Funktionen sonst mehrfach definiert sind. Das muss schon so sein und ging auch immer.

Wie muss ich die Klasse mitlinken? Bisher habe ich die zugehörigen Headerdateien lediglich in der StdAfx.h eingebunden, was immer funktioniert hat. Mehr als die oben genannte Library musste ich in den Projekteinstellungen nicht ändern.
  Mit Zitat antworten Zitat
Benutzerbild von Matze
Matze
(Co-Admin)

Registriert seit: 7. Jul 2003
Ort: Schwabenländle
14.929 Beiträge
 
Turbo Delphi für Win32
 
#5

Re: [C++] Linkerproblem

  Alt 14. Mai 2007, 20:44
Ich habe soeben gemerkt, dass es mir wieder die ganzen selbst erstellten *.cpp und *.h Dateien aus dem Solution Explorer entfernt hat, wieso auch immer.

Nachdem ich diese manuell hinzugefügt habe, geht es nun wieder, fragt sich nur wie lange. Das ist vermutlich auch das, was du, Heiko, gemeint hast.

Danke ihr beiden.

PS: Aber die Fehlerbeschreibung könnte wirklich etwas aussagekräftiger sein.
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 13:17 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz