Compile Fehler

pSub
Mausschubser
Mausschubser
Beiträge: 61
Registriert: 21. Sep 2009 22:56

Compile Fehler

Beitrag von pSub »

Hallo,

ich bekomme folgende Fehler, wenn ich das aktuelle Template kompilieren will.

Code: Alles auswählen

||=== Build: Debug in Exercise12 (compiler: GNU GCC Compiler) ===|
Sources/Exercise.cpp|138|undefined reference to `Kore::Socket::send(unsigned int, unsigned int, unsigned int, unsigned int, unsigned short, unsigned char const*, int)'|
Sources/Exercise.cpp|145|undefined reference to `Kore::Socket::receive(unsigned char*, int, unsigned int&, unsigned int&)'|
obj/Debug/Sources/Exercise.o||In function `init':|
Sources/Exercise.cpp|295|undefined reference to `Kore::Socket::open(int)'|
obj/Debug/Sources/Exercise.o||In function `__static_initialization_and_destruction_0':|
Sources/Exercise.cpp|132|undefined reference to `Kore::Socket::Socket()'|
Sources/Exercise.cpp|132|undefined reference to `Kore::Socket::~Socket()'|
||=== Build failed: 5 error(s), 86 warning(s) (0 minute(s), 6 second(s)) ===|
Woran kann das liegen? Ich nutze Linux mit Codeblocks.

RobDangerous
Computerversteher
Computerversteher
Beiträge: 363
Registriert: 14. Okt 2014 17:05

Re: Compile Fehler

Beitrag von RobDangerous »

Undefined reference bedeutet, dass der Linker die Funktion nicht finden konnte - da wurde wohl Socket.cpp nicht mitkompiliert. Einfach nochmal node Kore/make ausführen, das bindet neue Dateien automatisch ins Projekt ein.

pSub
Mausschubser
Mausschubser
Beiträge: 61
Registriert: 21. Sep 2009 22:56

Re: Compile Fehler

Beitrag von pSub »

Ah, vielen Dank! Das hat geholfen.

Max-Maag
Erstie
Erstie
Beiträge: 16
Registriert: 23. Apr 2013 14:39

Re: Compile Fehler

Beitrag von Max-Maag »

Ich hatte das gleiche Problem, allerdings hat auch "node Kore/make" nicht weitergeholfen. Ich habe dann versucht, die fehlenden Dateien per Hand in Visual Studio hinzuzufügen:
dir_structure.png
dir_structure.png (8.86 KiB) 635 mal betrachtet
Jetzt bekomme ich allerdings folgende Fehlermeldungen:

Code: Alles auswählen

1>Socket.obj : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "__imp__bind@12" in Funktion ""public: void __thiscall Kore::Socket::open(int)" (?open@Socket@Kore@@QAEXH@Z)".
1>Socket.obj : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "__imp__closesocket@4" in Funktion ""public: __thiscall Kore::Socket::~Socket(void)" (??1Socket@Kore@@QAE@XZ)".
1>Socket.obj : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "__imp__ioctlsocket@12" in Funktion ""public: void __thiscall Kore::Socket::open(int)" (?open@Socket@Kore@@QAEXH@Z)".
1>Socket.obj : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "__imp__htonl@4" in Funktion ""public: void __thiscall Kore::Socket::send(unsigned int,unsigned int,unsigned int,unsigned int,unsigned short,unsigned char const *,int)" (?send@Socket@Kore@@QAEXIIIIGPBEH@Z)".
1>Socket.obj : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "__imp__htons@4" in Funktion ""public: void __thiscall Kore::Socket::open(int)" (?open@Socket@Kore@@QAEXH@Z)".
1>Socket.obj : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "__imp__ntohl@4" in Funktion ""public: int __thiscall Kore::Socket::receive(unsigned char *,int,unsigned int &,unsigned int &)" (?receive@Socket@Kore@@QAEHPAEHAAI1@Z)".
1>Socket.obj : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "__imp__ntohs@4" in Funktion ""public: int __thiscall Kore::Socket::receive(unsigned char *,int,unsigned int &,unsigned int &)" (?receive@Socket@Kore@@QAEHPAEHAAI1@Z)".
1>Socket.obj : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "__imp__recvfrom@24" in Funktion ""public: int __thiscall Kore::Socket::receive(unsigned char *,int,unsigned int &,unsigned int &)" (?receive@Socket@Kore@@QAEHPAEHAAI1@Z)".
1>Socket.obj : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "__imp__sendto@24" in Funktion ""public: void __thiscall Kore::Socket::send(unsigned int,unsigned int,unsigned int,unsigned int,unsigned short,unsigned char const *,int)" (?send@Socket@Kore@@QAEXIIIIGPBEH@Z)".
1>Socket.obj : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "__imp__socket@12" in Funktion ""public: void __thiscall Kore::Socket::open(int)" (?open@Socket@Kore@@QAEXH@Z)".
1>Socket.obj : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "__imp__WSAStartup@8" in Funktion ""void __cdecl `anonymous namespace'::init(void)" (?init@?A0xd3765e8d@@YAXXZ)".
1>Socket.obj : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "__imp__WSACleanup@0" in Funktion ""void __cdecl `anonymous namespace'::destroy(void)" (?destroy@?A0xd3765e8d@@YAXXZ)".
1>F:\TU\GameTech\MaximilianMaag\build\Debug\Exercise8.exe : fatal error LNK1120: 12 nicht aufgelöste Externe
========== Erstellen: 0 erfolgreich, 1 fehlerhaft, 0 aktuell, 0 übersprungen ==========
???

RobDangerous
Computerversteher
Computerversteher
Beiträge: 363
Registriert: 14. Okt 2014 17:05

Re: Compile Fehler

Beitrag von RobDangerous »

Für das Netzwerk-Zeugs bindet Kore unter Windows auch eine zusätzliche Library ein. Aber auch darum kümmert sich koremake. Hast Du vielleicht Exercise11.sln statt Exercise12.sln geöffnet? Lösch einfach mal den build-Ordner, dann kann (fast) nix schief gehen.

Max-Maag
Erstie
Erstie
Beiträge: 16
Registriert: 23. Apr 2013 14:39

Re: Compile Fehler

Beitrag von Max-Maag »

Jetzt läuft's.

Antworten

Zurück zu „Archiv“