Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Problem mit Klasse in C++ (https://www.delphipraxis.net/91459-problem-mit-klasse-c.html)

Matze 5. Mai 2007 07:45


Problem mit Klasse in C++
 
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?

Chewie 5. Mai 2007 10:20

Re: Problem mit Klasse in C++
 
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.

Matze 5. Mai 2007 10:22

Re: Problem mit Klasse in C++
 
Hallo Martin,

Danke, hm bei mir sieht das so aus:

Code:
class cl_snake
{
   public:
      void initialize();

Chewie 5. Mai 2007 10:29

Re: Problem mit Klasse in C++
 
Und hast du diese initialize()-Methode auch irgendwo definiert? Anscheinend nicht (richtig) - zumindest kann sie der Linker nicht finden.

Matze 5. Mai 2007 10:55

Re: Problem mit Klasse in C++
 
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. :thumb:


Alle Zeitangaben in WEZ +1. Es ist jetzt 19:59 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz