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

Das Gurke

Community-Fossil

Beiträge: 1 996

Wohnort: Pinneberg

Beruf: Schüler

  • Private Nachricht senden

drakon

Supermoderator

Beiträge: 6 513

Wohnort: Schweiz

Beruf: Entrepreneur

  • Private Nachricht senden

SirForce

Alter Hase

  • »SirForce« ist der Autor dieses Themas

Beiträge: 802

Wohnort: Süddeutschland

  • Private Nachricht senden

13

05.04.2008, 18:24

Also laut wiki:


Framework.h

C-/C++-Quelltext

1
2
3
4
5
6
#ifndef FRAMEWORK_HPP
#define FRAMEWORK_HPP

//...


#endif


EDIT: @Drakon: Also jetzt doch...
Nichts behindert so sehr die Entwicklung der Intelligenz wie ihre vollständige Abwesenheit.

Michail Genin

drakon

Supermoderator

Beiträge: 6 513

Wohnort: Schweiz

Beruf: Entrepreneur

  • Private Nachricht senden

DasBlub

Alter Hase

Beiträge: 802

Wohnort: Schweiz

Beruf: Programmierer

  • Private Nachricht senden

15

05.04.2008, 23:42

du kannst sonst auch einfach

C-/C++-Quelltext

1
#pragma once
hinschreiben, dass geht bei M$-Compilern auch, und ist schöner

drakon

Supermoderator

Beiträge: 6 513

Wohnort: Schweiz

Beruf: Entrepreneur

  • Private Nachricht senden

16

05.04.2008, 23:54

Zitat von »"TheWinner"«

du kannst sonst auch einfach

C-/C++-Quelltext

1
#pragma once
hinschreiben, dass geht bei M$-Compilern auch, und ist schöner


Das geht afaik NUR bei MS Compilern..;)

Am besten so:

C-/C++-Quelltext

1
2
3
4
5
6
7
8
#ifndef XXX_H
#define XXX_H

#if defined _MSC_VER && _MSC_VER >= 1020 
#pragma once
#endif
...
#endif //XXX_H

dot

Supermoderator

Beiträge: 9 757

Wohnort: Graz

  • Private Nachricht senden

17

06.04.2008, 00:00

Zitat von »"drakon"«

Das geht afaik NUR bei MS Compilern..;)


Nich nur. Das once pragma is zwar afaik ursprünglich eine MS Geschichte, wird aber auch von anderen Compilern, z.B. GCC unterstützt. Beim GCC sollte man allerdings afaik besser normale include guards verwenden.

SirForce

Alter Hase

  • »SirForce« ist der Autor dieses Themas

Beiträge: 802

Wohnort: Süddeutschland

  • Private Nachricht senden

18

06.04.2008, 01:09

Ich bin jetzt auch bei normalen #include guards geblieben...


Das Problem habe ich mitlerweile auch geklärt. Es hat wirklich den Anschein, dass es daran lag, dass mein Compiler mit .hpp Endungen nichts anfangen kann, also .h benötigt - naja :lol:

Dessweiteren dachte ich eigentlich, dass es reicht wenn man nur einmal unter Projekt Einstellungen angibt, das man als Laufzeit-Bibliothek Multithreaded DLL verwendet, bzw unter Linker die sdl.lib und sdlmain.lib einbindet. Aber anscheindend muss man das bei jedem neuen Projekt machen, dämlich :?

Danke nochmal für eure Hilfe!
Nichts behindert so sehr die Entwicklung der Intelligenz wie ihre vollständige Abwesenheit.

Michail Genin

19

06.04.2008, 11:01

GCC stuft #pragma once als veraltet ein und rät von dessen Einsatz ab. Doch bei MS VC++ ist dies durchaus eher "besser" als ein gewöhnlicher Include-Guard per #ifndef-#define .
Devil Entertainment :: Your education is our inspiration
Der Spieleprogrammierer :: Community Magazin
Merlin - A Legend awakes :: You are a dedicated C++ (DirectX) programmer and you have ability to work in a team? Contact us!
Siedler II.5 RttR :: The old settlers-style is comming back!

Also known as (D)Evil

Werbeanzeige