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

Sylence

Community-Fossil

Beiträge: 1 663

Beruf: Softwareentwickler

  • Private Nachricht senden

21

09.10.2013, 22:03

Natürlich kann man Quellcode umschreiben. Aber warum sollte man sich unnötige Arbeit machen?

BlueCobold

Community-Fossil

Beiträge: 10 738

Beruf: Teamleiter Mobile Applikationen & Senior Software Engineer

  • Private Nachricht senden

22

10.10.2013, 06:54

Ehrlich gesagt kann eine so winzige Änderung die starke Typisierung eines Enums zu entfernen wohl doch deutlich weniger Arbeit bedeuten als VS2012 zu installieren und wieder seinen Wünschen entsprechend anzupassen.
Teamleiter von Rickety Racquet (ehemals das "Foren-Projekt") und von Marble Theory

Willkommen auf SPPRO, auch dir wird man zu Unity oder zur Unreal-Engine raten, ganz bestimmt.[/Sarkasmus]

CeDoMain

Alter Hase

  • »CeDoMain« ist der Autor dieses Themas

Beiträge: 587

Wohnort: Ilmenau

Beruf: Student für Mechatronik

  • Private Nachricht senden

23

08.11.2013, 21:39

Soooo, ich bin nah dran aufzugeben. Das umschreiben hat nicht geklappt. Ich hab viele andere NBT Libs ausprobiert, aber keine funktioniert!

cNBT wird ja sehr hoch gepriesen, aber da brauch ich einen C99 Compiler ich hab aber Visual c++ 2010. -> z.B. die Datei "stdbool.h" wurde nicht gefunden???
Nach der Auskommentierung bekomme ich 400 andere Fehler. Ich bin Ratlos! :(

Dann hab ich versucht eine eigene Lib zu schreiben, bin aber an der zLib-Einbindung gescheitert! Da kennt er auch eine datei nicht, ich hab gegoogelt und da steht: die gibts nur bei Linux. ?(

Ich bin ratlos, bin ich zu doof?! Ich will aber nicht aufgeben! Kann mir irgendjemand helfen?
Mit freundlichem Gruß
CeDo
Discord: #6996 | Skype: cedomain

Lass solche persönlichen Angriffe lieber bleiben, meine sind härter.

BlueCobold

Community-Fossil

Beiträge: 10 738

Beruf: Teamleiter Mobile Applikationen & Senior Software Engineer

  • Private Nachricht senden

24

08.11.2013, 22:50

C ist eben kein C++.
Was in C "stdbool.h" ist in C++ eben <cstdbool>.
Teamleiter von Rickety Racquet (ehemals das "Foren-Projekt") und von Marble Theory

Willkommen auf SPPRO, auch dir wird man zu Unity oder zur Unreal-Engine raten, ganz bestimmt.[/Sarkasmus]

CeDoMain

Alter Hase

  • »CeDoMain« ist der Autor dieses Themas

Beiträge: 587

Wohnort: Ilmenau

Beruf: Student für Mechatronik

  • Private Nachricht senden

25

09.11.2013, 17:01

Ich habs von

C-/C++-Quelltext

1
#include <stdbool.h>
in

C-/C++-Quelltext

1
#include <cstdbool>
geändert. Aber das zweite kennt er auch nicht. Dadrüber steht:

C-/C++-Quelltext

1
2
3
4
#ifdef __cplusplus
#define restrict __restrict__
extern "C" {
#endif
muss ich das vielleicht ändern? Wenn ja wie?
Mit freundlichem Gruß
CeDo
Discord: #6996 | Skype: cedomain

Lass solche persönlichen Angriffe lieber bleiben, meine sind härter.

Beiträge: 1 223

Wohnort: Deutschland Bayern

Beruf: Schüler

  • Private Nachricht senden

26

09.11.2013, 17:26

Der MSVC10 Compiler ist leider noch nicht ganz auf den Stand von C99. Neuere Versionen als 10 kommen damit möglicherweise klar.
Das ist aber kein großes Malus weil in "stdbool" keine großen Sachen stecken die man ganz schnell selber ergänzen kann...
Man könnte "stdbool.h" zum Beispiel so definieren:

C-/C++-Quelltext

1
2
3
4
5
6
7
8
9
10
11
12
13
#define STDBOOL_H
#ifndef STDBOOL_H

#ifdef __cplusplus
#define _Bool bool 
#else
#define bool _Bool
#define true (1)
#define false (0)
#endif
#define __bool_true_false_are_defined (1)

#endif

CeDoMain

Alter Hase

  • »CeDoMain« ist der Autor dieses Themas

Beiträge: 587

Wohnort: Ilmenau

Beruf: Student für Mechatronik

  • Private Nachricht senden

27

09.11.2013, 18:49

Ich hab jetzt eine Headerdatei mit dem Namen stdbool.h hinzugefügt und da hinein deinen Quellcode kopiert. Jetzt bekomm ich 376 Fehler.
Ich weiß jetzt leider nicht, welche ich hier auflisten soll!?
Fehler Nr. 1:

C-/C++-Quelltext

1
2
3
4
5
6
7
8
9
10
static inline struct list_head* list_add_head(struct list_head* restrict new_element, struct list_head* restrict head)
{
    new_element->flink = head->flink;
    new_element->blink = head;

    new_element->flink->blink = new_element;
    new_element->blink->flink = new_element;

    return head;
}
dazu meint der Compiler:
Fehler 1 error C2146: Syntaxfehler: Fehlendes ',' vor Bezeichner 'new_element' d:\******\microsoft visual c++\nbt_reader\cnbt\list.h 20

Was soll das denn heißen? new_element ist doch der Variablenname. Das restrict kennt er anscheinend aus einem anderen codeabschnitt.
Ich bin Ratlos! Das kann doch nicht sein, dass man sich eine "bekannte" Lib runterläd und dann fast 400 compilerfehler bekommt! Hab ich was falsch eingebunden?
Mit freundlichem Gruß
CeDo
Discord: #6996 | Skype: cedomain

Lass solche persönlichen Angriffe lieber bleiben, meine sind härter.

Sylence

Community-Fossil

Beiträge: 1 663

Beruf: Softwareentwickler

  • Private Nachricht senden

28

09.11.2013, 18:53

Falsch eingebunden ist der falsche Ausdruck. Die requirements nicht gelesen trifft es eher:

Zitat

This project depends on libz for gzip decompressing and compressing, and a compiler
with C99 support
.


Laut wikipediasoll wohl Visual Studio 2013 "einen Großteil" von C99 unterstützen, also wäre das mal einen Versuch wert, wenn du unbedingt bei einem Microsoft compiler bleiben willst.

CeDoMain

Alter Hase

  • »CeDoMain« ist der Autor dieses Themas

Beiträge: 587

Wohnort: Ilmenau

Beruf: Student für Mechatronik

  • Private Nachricht senden

29

09.11.2013, 18:59

Das hab ich auch gelesen, danke für den hinweis! Ich wusste leider nicht was C99 ist. :D Ich lad mir grad MSVS 2013 runter, kann aber noch ne weile dauern, hab 300kB/s :thumbdown:
Meinst du, die Fehler haben mit C99 was zu tun? MUss ich dann ne neuere C++ Sprache lernen? Ist das dann auch C++11?
Mit freundlichem Gruß
CeDo
Discord: #6996 | Skype: cedomain

Lass solche persönlichen Angriffe lieber bleiben, meine sind härter.

Beiträge: 1 223

Wohnort: Deutschland Bayern

Beruf: Schüler

  • Private Nachricht senden

30

09.11.2013, 18:59

Das kann schon sein.
Auch hier ist wieder der MSVC Compiler schuld. Er kennt das "restrict"-Schlüsselwort nicht und hat dann mit dem Quelltext ein Problem.
Du könntest probieren mit "#define restrict __declspec(restrict)" am Anfang der Datei das Schlüsselwort in die MSVC-Erweierung umzuleiten.

Das Hauptproblem ist jedoch, dass der Quelltext ganz offensichtlich nicht in C++ und auch im MSVC10 entwickelt wurde. Dadurch gibt es einige Inkompatiblitäten die erstmal gelöst werden müssten.

Werbeanzeige