AGB  ·  Datenschutz  ·  Impressum  







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

Problem mit Klasse in C++

Ein Thema von Matze · begonnen am 5. Mai 2007 · letzter Beitrag vom 5. 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

Problem mit Klasse in C++

  Alt 5. Mai 2007, 08:45
Hi,

ich bin gerade dabei, ein kleines Snake-Klon in C++ zu schreiben, um im Umgang mit Klassen vertraut zu werden. Beim Kompilieren erhalte ich jedoch diese Meldung und ich weiß nicht, wieso:

Zitat:
Linking...
tiny_snake.obj : error LNK2019: unresolved external symbol "public: void __thiscall cl_snake::initialize(void)" (?initialize@cl_snake@@QAEXXZ) referenced in function _main
.\Debug/tiny_snake.exe : fatal error LNK1120: 1 unresolved externals
Der Fehler tritt auf, wenn ich diese Code-Zeile einkommentiere, ansonsten nicht:

Code:
my_snake->initialize();
Der relevante Code ist dieser hier:

Code:
int main(int argc, char *argv[])
{
   #pragma comment(lib, "./lcgi/lcgi.lib")
   #pragma comment(lib, "./lcgi/qt-mt230nc.lib")

   cl_snake *my_snake;
   my_snake = new cl_snake();

   initgraph(400, 250);
   cleardevice(WHITE);

   my_snake->initialize();

   getch();
   closegraph();
   delete my_snake;
   
   return(0);
}
Code:
void cl_snake::intialize()
{
   // ... wohl nicht relevant, da der Fehler bereits beim Linken auftritt
}
Wisst ihr, was ich mir unter dem Fehler vorzustellen habe und wie ich ihn beheben kann?
  Mit Zitat antworten Zitat
Chewie

Registriert seit: 10. Jun 2002
Ort: Deidesheim
2.886 Beiträge
 
Turbo Delphi für Win32
 
#2

Re: Problem mit Klasse in C++

  Alt 5. Mai 2007, 11:20
Ein Fehler der Marke "unresolved externals" tritt dann auf, wenn der Linker eine Funktion nicht findet. Also entweder ist das Modul, welches die Funktion definiert, nicht erstellt oder es trägt eine andere Signatur als die Funktion, die in der Headerdatei deklariert ist.
Martin Leim
Egal wie dumm man selbst ist, es gibt immer andere, die noch dümmer sind
  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
 
#3

Re: Problem mit Klasse in C++

  Alt 5. Mai 2007, 11:22
Hallo Martin,

Danke, hm bei mir sieht das so aus:

Code:
class cl_snake
{
   public:
      void initialize();
  Mit Zitat antworten Zitat
Chewie

Registriert seit: 10. Jun 2002
Ort: Deidesheim
2.886 Beiträge
 
Turbo Delphi für Win32
 
#4

Re: Problem mit Klasse in C++

  Alt 5. Mai 2007, 11:29
Und hast du diese initialize()-Methode auch irgendwo definiert? Anscheinend nicht (richtig) - zumindest kann sie der Linker nicht finden.
Martin Leim
Egal wie dumm man selbst ist, es gibt immer andere, die noch dümmer sind
  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: Problem mit Klasse in C++

  Alt 5. Mai 2007, 11:55
Das Problem war nun, dass die cl_snake.cpp und die cl_snake.h im Solution Explorer nicht auftauchten, wieso auch immer. Nachdem ich diese hinzugefügt habe, geht's nun.

Danke Chewie, du hast mir sehr geholfen.
  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 18:33 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