Du bist nicht angemeldet.

Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!

Werbeanzeige

CBenni::O

1x Contest-Sieger

  • »CBenni::O« ist der Autor dieses Themas

Beiträge: 1 145

Wohnort: Stuttgart

  • Private Nachricht senden

1

20.03.2010, 18:19

LNK 2005

Hallo,

Es ist mir ein wenig peinlich, aber ich habe irgendwie Probleme mit dem LNK 2005 Fehler :oops: :

Zitat

GameSection.obj : error LNK2005: "public: unsigned long __thiscall BBB::ResourceManager::LoadingFunc(void)" (?LoadingFunc@ResourceManager@BBB@@QAEKXZ) ist bereits in main.obj definiert.


Dank der SuFu habe ich das hier bekommen: https://www.spieleprogrammierer.de/phpBB…hlight=lnk+2005

Das Problem: Die Funktion muss im Header definiert werden, aber inlinen geht nicht, da die Funktion als Funktionszeiger-Parameter zur Threaderstellung dient...

Gibt es sonst noch möglichkeiten, diesen Fehler zu umgehen?

danke im voraus ;)

mfg CBenni:O
Ein Mitglied der VEGeiCoUndGraSonMaWiGeS Bewegung.
42!
Aufräumen kann jeder, nur das Genie überblickt das Chaos!
Metal will never die!
1. Sppro Gamecontest - mein Beitrag

2

20.03.2010, 18:22

Probiers doch mal mit extern dann musst du es halt noch mal in der main oder sonstwo deklarieren
Metal ist keine Musik sondern eine Religion.

CBenni::O

1x Contest-Sieger

  • »CBenni::O« ist der Autor dieses Themas

Beiträge: 1 145

Wohnort: Stuttgart

  • Private Nachricht senden

3

20.03.2010, 18:37

Zitat von »"Fabian Kock"«

Probiers doch mal mit extern dann musst du es halt noch mal in der main oder sonstwo deklarieren


Achtung, ich blamiere mich komplett!

Ich verstehe leider nicht ganz, was du meinst :oops:

Soll ich statt in der hpp

C-/C++-Quelltext

1
2
3
4
BBB::ResourceManager::LoadingFunc()
{
...
}


enfach nur extern LoadingFunc hinschreiben? oder wie sonst?

Aber danke für deine Hilfe ;)

mfg CBenni:O
Ein Mitglied der VEGeiCoUndGraSonMaWiGeS Bewegung.
42!
Aufräumen kann jeder, nur das Genie überblickt das Chaos!
Metal will never die!
1. Sppro Gamecontest - mein Beitrag

4

20.03.2010, 18:43

extern BBB::ResourcenManager::LoadingFunc() ohne Funktionsheader und dann in der cpp deklarieren mit Funktionsheader.
Metal ist keine Musik sondern eine Religion.

David_pb

Community-Fossil

Beiträge: 3 886

Beruf: 3D Graphics Programmer

  • Private Nachricht senden

5

20.03.2010, 19:45

Zitat von »"CBenni::O"«


Soll ich statt in der hpp

C-/C++-Quelltext

1
2
3
4
BBB::ResourceManager::LoadingFunc()
{
...
}


C-/C++-Quelltext

1
2
3
4
inline BBB::ResourceManager::LoadingFunc()
{
...
}

CBenni::O

1x Contest-Sieger

  • »CBenni::O« ist der Autor dieses Themas

Beiträge: 1 145

Wohnort: Stuttgart

  • Private Nachricht senden

6

20.03.2010, 20:07

Danke, Fabian!

Und David: inlinen geht leider nicht, da ich eine eigenständige und vollwertige Funktion brauche...

mfg CBenni::O
Ein Mitglied der VEGeiCoUndGraSonMaWiGeS Bewegung.
42!
Aufräumen kann jeder, nur das Genie überblickt das Chaos!
Metal will never die!
1. Sppro Gamecontest - mein Beitrag

David_pb

Community-Fossil

Beiträge: 3 886

Beruf: 3D Graphics Programmer

  • Private Nachricht senden

7

20.03.2010, 20:20

Zitat von »"CBenni::O"«

Danke, Fabian!

Und David: inlinen geht leider nicht, da ich eine eigenständige und vollwertige Funktion brauche...

mfg CBenni::O


Dann definier die Funktion nicht in Header... Und mach dich mal grundlegend darüber schlau wie sich inline tatsächlich auswirkt...

Tobiking

1x Rätselkönig

  • Private Nachricht senden

8

21.03.2010, 02:54

Einige Compiler bzw. Linker ignorieren das inline Keyword auch ganz. Die können das selbst auch meist besser entscheiden ob es sich Performance technisch lohnt die Funktion zu inlinen oder nicht. Bei Anwendungen fällt mir auch grad kein Fall ein, wo das inline etwas kaputt macht.

NachoMan

Community-Fossil

Beiträge: 3 885

Wohnort: Berlin

Beruf: (Nachhilfe)Lehrer (Mathematik, C++, Java, C#)

  • Private Nachricht senden

9

21.03.2010, 02:59

es ist manchmal sogar überhaupt nicht möglich eine funktion zu "inlinen". zum beispiel wenn sie sich selbst aufruft.

David_pb

Community-Fossil

Beiträge: 3 886

Beruf: 3D Graphics Programmer

  • Private Nachricht senden

10

21.03.2010, 11:30

Zitat von »"NachoMan"«

es ist manchmal sogar überhaupt nicht möglich eine funktion zu "inlinen". zum beispiel wenn sie sich selbst aufruft.


Und manchmal ist es notwendig, z.B. wenn man Funktionen im Header definiert!

Werbeanzeige