Bismuth pre-Alpha

Übersicht Sonstiges Projekte

Gehe zu Seite 1, 2, 3, 4  Weiter

Neue Antwort erstellen

BladeRunner

Moderator

Betreff: Bismuth pre-Alpha

BeitragDo, Mai 17, 2012 15:49
Antworten mit Zitat
Benutzer-Profile anzeigen
Hier nur in aller Kürze der Hinweis auf Bismuth: *Klick*

Wie dort schon beschrieben ist Bismuth quasi unser Ansatz für ein neues, verbessertes Blitzmax.
Bitte spielt ausführlich damit und gebt uns reichlich Feedback.

In diesem Thread könnt ihr uns gerne Hinweise, Anregungen, Bugreports etc. hinterlassen.

Also denne: Fragen?
Zu Diensten, Bürger.
Intel T2300, 2.5GB DDR 533, Mobility Radeon X1600 Win XP Home SP3
Intel T8400, 4GB DDR3, Nvidia GF9700M GTS Win 7/64
B3D BMax MaxGUI

Stolzer Gewinner des BAC#48, #52 & #92

Propellator

BeitragDo, Mai 17, 2012 15:54
Antworten mit Zitat
Benutzer-Profile anzeigen
Linux: eine header-datei für Linux für das GLEW Modul fehlt (glxew.h), nach nachträglichem einfügen kompiliert das Modul trotzdem nicht, es wird einfach nicht erkannt, irgendwie.
Propellator - Alles andere ist irrelephant.
Elefanten sind die Könige der Antarktis.

ZaP

BeitragDo, Mai 17, 2012 16:21
Antworten mit Zitat
Benutzer-Profile anzeigen
Ist das so vorgesehen, dass Variablenbezeichner und Klassenbezeichner sich nicht überlappen dürfen?
Beispiel:
BlitzMax: [AUSKLAPPEN]
class Fish

Private
Field size:Int

Public

Method Fish(size:Int)
Print("constructor: Fish")
Self.size = size
End Method

Method printSize()
Print("This is one big fish: " + Self.size)
End Method

End class

class BlowFish Extends Fish

Private
Field sizeWhenBlown:Int

Public

Method BlowFish(blowSize:Int, defaultSize:Int = 10)
Super(defaultSize)
Self.sizeWhenBlown = blowSize
End Method

Method printSize()
Super.printSize()
Print("It can blow itself to a volume of " + Self.sizeWhenBlown)
End Method

End class


Local fish:Fish = New Fish(10)
Local blowFish:BlowFish = New BlowFish(20)
Local blowFish2:Fish = New BlowFish(12, 5)

fish.printSize()
blowFish.printSize()
blowFish2.printSize()

Print("That's all, folks!")


Dieses Skript erzeugt den Fehler 'Semantic error: Redefinition of 'fish''
Ändere ich den Bezeichner fish (und die anderen beiden entsprechend) in z.B. myfish, dann geht's.
Starfare: Worklog, Website (download)

Noobody

BeitragDo, Mai 17, 2012 16:25
Antworten mit Zitat
Benutzer-Profile anzeigen
Ja, das ist so. Das ist aber in BMax und den meisten anderen Programmiersprachen auch so. Probier z.B. mal den folgenden Code in BMax: BlitzMax: [AUSKLAPPEN]
Type Fish
End Type

Local Fish:Fish = New Fish

Das sollte dir "Compile Error: Duplicate identifier 'Fish'" werfen.

@Propellator: Wie im Worklog erwähnt, gibt es noch keinen Support für MacOS oder Linux.
Man is the best computer we can put aboard a spacecraft ... and the only one that can be mass produced with unskilled labor. -- Wernher von Braun

aMul

Sieger des Minimalist Compo 01/13

BeitragDo, Mai 17, 2012 18:02
Antworten mit Zitat
Benutzer-Profile anzeigen
Interessantes Projekt!
Werde ich definitiv im Auge behalten.
(Fragen sowie Zeit damit rum zu spielen habe ich (leider) momentan nicht.)
Panic Pong - ultimate action mashup of Pong and Breakout <= aktives Spiele-Projekt, Downloads mit vielen bunten Farben!
advASCIIdraw - the advanced ASCII art program <= aktives nicht-Spiele-Projekt, must-have für ASCII/roguelike/dungeon-crawler fans!
Alter BB-Kram: ThroughTheAsteroidBelt - mit Quelltext! | RGB-Palette in 32²-Textur / Farbige Beleuchtung mit Dot3 | Stereoskopie in Blitz3D | Teleport-Animation Screensaver

blackgecko

BeitragDo, Mai 17, 2012 22:05
Antworten mit Zitat
Benutzer-Profile anzeigen
Oha. Ein tolles Projekt. Macht unbedingt was draus - Ich werd euch im Auge behalten Wink
Ich kann den Compiler leider grade nicht testen (Wann kommt der Linux-Support?). Dafür hab ich das Manual gelesen. Ein paar Gedanken von mir:

Seh ich das richtig, dass Int, Byte & Co. auch in Bismuth keine Objekte sind?
Funktionen sind nur aufrufbar mit Klammern. Das ist super. Ich hab manchmal das Gefühl in BlitzMax ist das nur deshalb nicht so, damit die die mitgelieferten Module so schön kryptisch schreiben konnten Razz
Konstruktoren: Jaaaa!!!
Zum Thema Implizite Type-Umwandlung:
BlitzMax: [AUSKLAPPEN]
If 0 = Null And "" = Null Then Print "Mist"
Dem Manual entnehme ich, dass Bismuth das genauso machen wird. Ich bin dagegen Sad
Module können beliebig viele Untermodule haben - in beliebig tiefen Ebenen? Das ist cool. die BlitzMax-Beschränkung auf genau 2 Ebenen hab ich nie verstanden.
Och nö, nich schon wieder:
Zitat:
StepValue has to be constant.
Ist das irgendwie eine Einschränkung die man bei kompilierten Sprachen eben hinnehmen muss oder könnt ihr da was machen?

Soweit meine ersten Gedanken. Wenn ich mal getestet habe meld ich mich bestimmt noch mal. Wink
So long and thanks for all the fish.
Fedora 17 | Windows 7 || BlitzPlus | BlitzMax
Rechtschreibflame GO!!! Deppenapostroph | SeidSeit | Deppenakzent | DassDas | Deppenleerzeichen | TodTot | enzigste.info - Ja, ich sammel die.

Thunder

BeitragDo, Mai 17, 2012 22:27
Antworten mit Zitat
Benutzer-Profile anzeigen
Sehr interessant zu lesen (sowohl der Worklog als auch der Teil des Manuals, den ich bisher angeschaut habe) und habe auch gleich einen Test machen wollen, aber irgendwie kompilieren die Module bei mir nicht. Bismuth meldet nur "No matching modules found for 'Bismuth'".
Dennoch ein Wahnsinn, was ihr in 6 Monaten hinbekommen habt!
Obwohl mir einige Änderungen nicht gefallen (man kann es eh nie jedem recht machen), bin ich sehr gespannt, wie sich das Projekt weiter entwickelt Very Happy Immerhin geht es darum, das Konzept einer guten Hobbyprogrammiersprache zu retten.
Meine Sachen: https://bitbucket.org/chtisgit https://github.com/chtisgit

hamZta

Administrator

BeitragFr, Mai 18, 2012 0:31
Antworten mit Zitat
Benutzer-Profile anzeigen
blackgecko hat Folgendes geschrieben:
Wann kommt der Linux-Support?

Schwer zu sagen, da es keinen fixen Entwicklungsplan oder sowas gibt. Also: When it's done Wink

blackgecko hat Folgendes geschrieben:
Seh ich das richtig, dass Int, Byte & Co. auch in Bismuth keine Objekte sind?

Ja

blackgecko hat Folgendes geschrieben:
Zum Thema Implizite Type-Umwandlung:
BlitzMax: [AUSKLAPPEN]
If 0 = Null And "" = Null Then Print "Mist"
Dem Manual entnehme ich, dass Bismuth das genauso machen wird. Ich bin dagegen Sad

Das wird der Einfachheit wegen so sein. Aber auch um einsteigerfreundlich zu bleiben.

blackgecko hat Folgendes geschrieben:
Och nö, nich schon wieder:
Zitat:
StepValue has to be constant.
Ist das irgendwie eine Einschränkung die man bei kompilierten Sprachen eben hinnehmen muss oder könnt ihr da was machen?


Das dürfte dich interessieren: http://www.noobody.org/Data/bi...le-do-loop Wink
Blog.

ProfJake

ehemals "DTC" / "Fabian Niemann"

BeitragFr, Mai 18, 2012 0:37
Antworten mit Zitat
Benutzer-Profile anzeigen
Also es sieht so aus, als würdet ihr damit den Herrn Sibly gehörig in Zugzwang bringen.
Viele meiner feuchten Träume habt ihr ja schon umgesetzt, nur eine Sache fand ich merkwürdig:

Wollt ihr die Modulstruktur so lassen? Wenn unter Bismuth alle Sprachfeatures implementiert
werden, warum stecken dort auch Wrapper für externe Bibliotheken mit drin? Das könnte schnell in
Verwirrung ausarten. Ihr könnt ja auch nicht alles wrappen und dann liegt zum Beispiel unter
ProfJake.Libs.GLFW ein Wrapper von mir, aber für DirectX brauche ich dann vielleicht noch
BladeRunner.Graphics.DirectX (nur ein Beispiel).

Braucht man wirklich gewrappte externe Bibliotheken im Sprachkern?

hamZta

Administrator

BeitragFr, Mai 18, 2012 1:09
Antworten mit Zitat
Benutzer-Profile anzeigen
Die aktuelle Einteilung der Module ist sicher nicht final und mehr als willkürlich Wink
Blog.

BladeRunner

Moderator

BeitragFr, Mai 18, 2012 3:52
Antworten mit Zitat
Benutzer-Profile anzeigen
Die bisherige Planung sieht vor dass alle Kernfeatures der Sprache - also dass was als "kleinster Kern" zu sehen ist - nach Bismuth.* kommt. Schon allein deswegen werden solche dinge wie DX etc. eigene Scopes erhalten, da sie ja nicht von jedem verwendet werden müssen. Der Bismuth-Kern wird also wirklich nur das notwendigste erhalten.
Vieles wird da noch wachsen, wir stehen noch am Anfang.
Wenn ihr selbst Module geschrieben habt und diese sich als extrem robust erweisen steht auch einer Aufnahme in den Kern nichts im Wege.
Zu Diensten, Bürger.
Intel T2300, 2.5GB DDR 533, Mobility Radeon X1600 Win XP Home SP3
Intel T8400, 4GB DDR3, Nvidia GF9700M GTS Win 7/64
B3D BMax MaxGUI

Stolzer Gewinner des BAC#48, #52 & #92

Noobody

BeitragFr, Mai 18, 2012 12:14
Antworten mit Zitat
Benutzer-Profile anzeigen
blackgecko hat Folgendes geschrieben:
(Wann kommt der Linux-Support?)

Schwer zu sagen Razz Der Compiler selbst läuft anscheinend auf Linux (bis auf ein paar Pfadprobleme), aber die Module selbst sind zum Teil noch Windows-only, unter anderem, weil es noch kein ?Win32/?Linux-Äquivalent gibt.

blackgecko hat Folgendes geschrieben:
Seh ich das richtig, dass Int, Byte & Co. auch in Bismuth keine Objekte sind?

Das ist korrekt! Dass sie keine echten Objekte sind, ist aus Performancegründen klar, aber mir schwebt schon lange vor, primitive Datentypen in Pseudoklassen zu wrappen. Für den Programmierer erscheinen sie dann wie echte Objekte, intern werden sie aber auf schnellere und speichereffizientere primitive Typen gemappt, wo es geht (z.B. wäre 3 + 5 immer noch schnell, aber Object(5) würde implizit erst das Integer-Objekt erzeugen). Das macht Sinn bei Generics und generell Datenstrukturen, aber wir müssen uns erst sehr genau überlegen, wie das umgesetzt werden soll, bevor wir uns in eine Sackgasse bauen.

blackgecko hat Folgendes geschrieben:
Zum Thema Implizite Type-Umwandlung:
BlitzMax: [AUSKLAPPEN]
If 0 = Null And "" = Null Then Print "Mist"
Dem Manual entnehme ich, dass Bismuth das genauso machen wird. Ich bin dagegen Sad

Das ist so, ja - halte ich persönlich für sehr angenehm und intuitiv. Was für Einwände hast du dagegen? (immer dran denken: wir nehmen gerne Vorschläge aus der Community und setzen sie auch um, wenn sie sinnvoll sind)

blackgecko hat Folgendes geschrieben:
Och nö, nich schon wieder:
Zitat:
StepValue has to be constant.
Ist das irgendwie eine Einschränkung die man bei kompilierten Sprachen eben hinnehmen muss oder könnt ihr da was machen?

Die Einschränkung kommt davon, dass der Compiler wissen muss, ob der Step negativ oder positiv ist, um eine korrekte Abbruchbedingung zu generieren. Zwar kann man das durch ein wenig ineffizienteren Code umgehen, aber bei dynamischen Step kann man immer noch kein Verhalten garantieren, wenn der Step zwischen positiv und negativ wechselt. Daher haben wir die Einschränkung gelassen - du kannst aber den gleichen Effekt mit einer For-While-Do-Schleife erreichen, da du dort die Abbruchbedingung sowieso selber schreibst. Zum Beispiel so was ähnliches BlitzMax: [AUSKLAPPEN]
For Local I:Int = 2, T:Int = 3 While I < 100 Do I = I + T
T = T*25 + I
Next

...oder wie du es auch schreiben willst. Da gibt es keine Begrenzungen.

ProfJake hat Folgendes geschrieben:
Wollt ihr die Modulstruktur so lassen?

Auf keinen Fall Razz Der Modulordner ist bei der Entwicklung organisch mitgewachsen und bleibt auf keinen Fall so. Prinzipiell gehört nur das Zeug in Bismuth.Core tatsächlich ins Bismuth-Modul.
Alles vorerst mal nach Bismuth zu werfen war halt sehr nützlich, um die Performance des Compilers zu testen, da er das Modul bei jeder Kompilation lädt.
Grundsätzlich aber sind die aktuellen Module nur schnell geschrieben worden, um die Sprache zum laufen zu bringen und nebenbei noch das Modulsystem zu testen. Sobald die Sprache ein einigermassen festes Featureset besitzt, lohnt es sich dann aber erst, die Module nochmal zu durchdenken und neu zu schreiben.
Man is the best computer we can put aboard a spacecraft ... and the only one that can be mass produced with unskilled labor. -- Wernher von Braun

BladeRunner

Moderator

BeitragFr, Mai 18, 2012 12:30
Antworten mit Zitat
Benutzer-Profile anzeigen
Thunder, kannst Du mir Pfad deiner Installation und was Du an bismuth weitergereicht hast posten?

Mir wäre der Fehler komplett neu, vielleicht kommen wir dem ja auf die Spur.
Zu Diensten, Bürger.
Intel T2300, 2.5GB DDR 533, Mobility Radeon X1600 Win XP Home SP3
Intel T8400, 4GB DDR3, Nvidia GF9700M GTS Win 7/64
B3D BMax MaxGUI

Stolzer Gewinner des BAC#48, #52 & #92

Noobody

BeitragFr, Mai 18, 2012 13:30
Antworten mit Zitat
Benutzer-Profile anzeigen
@Thunder: Das Problem liegt ausnahmsweise nicht beim Compiler, sondern bei der Windows-CMD, welches Programmargumente ersetzt, die * enthalten. Wenn der Ordner, in dem die CMD läuft (der Pfad vor der ">"-Prompt) Ordner oder Dateien enthält, deren Namen mit "Bismuth" beginnt, sieht es das ".*" als Platzhalter und ersetzt es mit dem ersten Ordner-/Dateinamen, der passt (bei mir war es des öfteren "bismuth.bmx" oder "bismuth.exe"....).

Du musst also einfach mit der CMD in einen Ordner wechseln, der keine Ordner/Dateien beginnend mit "bismuth" enthält, dann übergibt es auch tatsächlich "bismuth.*" an den Compiler. Alternativ, wenn du BMax besitzt, kannst du bei "Program -> Command Line" -m bismuth.* eingeben und den Compiler aus der MaxIDE laufen lassen, das geht nämlich immer.
Man is the best computer we can put aboard a spacecraft ... and the only one that can be mass produced with unskilled labor. -- Wernher von Braun
 

CO2

ehemals "SirMO"

BeitragFr, Mai 18, 2012 18:50
Antworten mit Zitat
Benutzer-Profile anzeigen
Das hört sich sehr interessant an!

Eine Frage: Wird der Code der in einem Modul steht beim Compilieren in den eigentlichen Quellcode kopiert? Wenn ja könntet ihr vllt. eine 2. Import-Funktion machen, die auch wirklich nur den gebrauchten Code aus dem Modul kopiert.
mfG, CO²

Sprachen: BlitzMax, C, C++, C#, Java
Hardware: Windows 7 Ultimate 64-Bit, AMX FX-6350 (6x3,9 GHz), 32 GB RAM, Nvidia GeForce GTX 750 Ti

BladeRunner

Moderator

BeitragFr, Mai 18, 2012 18:54
Antworten mit Zitat
Benutzer-Profile anzeigen
Es wird modulweise importiert, alles andere wäre auch zum einen schwer bis unmöglich umzusetzen und zum anderen entsteht idR da nicht soviel unnützer Ballast.
Zu Diensten, Bürger.
Intel T2300, 2.5GB DDR 533, Mobility Radeon X1600 Win XP Home SP3
Intel T8400, 4GB DDR3, Nvidia GF9700M GTS Win 7/64
B3D BMax MaxGUI

Stolzer Gewinner des BAC#48, #52 & #92

Der Eisvogel

BeitragFr, Mai 18, 2012 19:35
Antworten mit Zitat
Benutzer-Profile anzeigen
Das klingt wunderschön in meinen Ohren.

Was ich mir schon lange für BlitzMax wünsche ist, ist das With-Statement aus Visual Basic:
http://msdn.microsoft.com/en-u...80%29.aspx

Wenn dieser Compiler seine Fortschritt so weiter macht, dann wird das richtig cool. Da freue ich mich schon drauf.

MfG
Der Eisvogel
Ungarische Notation kann nützlich sein.
BlitzMax ; Blitz3D
Win 7 Pro 64 Bit ; Intel Core i7-860 ; 8 GB Ram ; ATI HD 5750 1 GB
Projekte: Window-Crasher
Ich liebe es mit der WinAPI zu spielen.

Noobody

BeitragFr, Mai 18, 2012 19:35
Antworten mit Zitat
Benutzer-Profile anzeigen
Code wird gar keiner kopiert - das BB/BMax Include gibt es nicht mehr.

Stattdessen verwendet man Import in Bismuth. Wenn eine Datei importiert wird, wird sie bei Bedarf neu kompiliert und im .bismuth-Ordner gecachet (d.h. die generierten *.cpp, *.h, kompilierte *.o und die exportierten und importierten Symbole in *.dep) und die generierten Binaries mit dem Hauptprogramm gelinkt.
Ausserdem werden alle Imports nach dem Semantikcheck durchlaufen und überprüft, ob sie vom Programm überhaupt verwendet werden und auch nur dann gelinkt (d.h. der Framework-Befehl von BMax ist überflüssig).

In Kürze: Es werden nur Dateien kompiliert, die sich geändert haben, und nur Sachen gelinkt, die tatsächlich verwendet werden. Kompilierte Dateien sind zwischengespeichert und blitzschnell geladen.
Man is the best computer we can put aboard a spacecraft ... and the only one that can be mass produced with unskilled labor. -- Wernher von Braun

Thunder

BeitragFr, Mai 18, 2012 19:58
Antworten mit Zitat
Benutzer-Profile anzeigen
Danke sehr Noobody. Hatte Bismuth nach C:\Bismuth kopiert und den Aufruf nur aus C:\ und aus C:\Bismuth probiert. Jetzt hat es funktioniert, wie du es beschrieben hast Very Happy zumindest das Kompilieren der Module.
Leider ist aber was neues aufgetaucht: Als ich probiert habe, Zaubercraft zu kompilieren, hat ld wohl nicht alles gefunden, was er finden hätte sollen:

Code: [AUSKLAPPEN]
Compiling c:/Bismuth/Testcode/Noobody/Zaubercraft/Zaubercraft.bi
Compiling c:/Bismuth/Testcode/Noobody/Zaubercraft/TList.bi
Compiling c:/Bismuth/Testcode/Noobody/Zaubercraft/Vector4.bi
Compiling c:/Bismuth/Testcode/Noobody/Zaubercraft/Matrix4.bi
Compiling c:/Bismuth/Testcode/Noobody/Zaubercraft/Matrix4GL.bi
Compiling c:/Bismuth/Testcode/Noobody/Zaubercraft/Entity.bi
Compiling c:/Bismuth/Testcode/Noobody/Zaubercraft/Renderer.bi
Compiling c:/Bismuth/Testcode/Noobody/Zaubercraft/RendererGL.bi
Compiling c:/Bismuth/Testcode/Noobody/Zaubercraft/InputHandler.bi
Compiling c:/Bismuth/Testcode/Noobody/Zaubercraft/Camera.bi
Compiling c:/Bismuth/Testcode/Noobody/Zaubercraft/BufferObject.bi
Compiling c:/Bismuth/Testcode/Noobody/Zaubercraft/VertexBufferGL.bi
Compiling c:/Bismuth/Testcode/Noobody/Zaubercraft/IndexBufferGL.bi
Compiling c:/Bismuth/Testcode/Noobody/Zaubercraft/Texture2D.bi
Compiling c:/Bismuth/Testcode/Noobody/Zaubercraft/Texture2DGL.bi
Compiling c:/Bismuth/Testcode/Noobody/Zaubercraft/Mesh.bi
Compiling c:/Bismuth/Testcode/Noobody/Zaubercraft/MeshGL.bi
Compiling c:/Bismuth/Testcode/Noobody/Zaubercraft/PerlinNoise.bi
Compiling c:/Bismuth/Testcode/Noobody/Zaubercraft/Chunk.bi
Compiling c:/Bismuth/Testcode/Noobody/Zaubercraft/BlockClass.bi
Compiling c:/Bismuth/Testcode/Noobody/Zaubercraft/LuaHandler.bi
Compiling c:/Bismuth/Testcode/Noobody/Zaubercraft/Skybox.bi
Compiling c:/Bismuth/Testcode/Noobody/Zaubercraft/Util.bi
Compiling c:/Bismuth/Testcode/Noobody/Zaubercraft/GLUtil.bi
Compiling c:/Bismuth/Testcode/Noobody/Zaubercraft/Pixmap.bi

g++ Output:
C:/Bismuth/mod/Bismuth/IO/FileStream/.bismuth/ModuleFileStream.a(FileStream.o):FileStream.cpp:(.text
+0x10a): undefined reference to `TStream::TStream()'
C:/Bismuth/mod/Bismuth/IO/FileStream/.bismuth/ModuleFileStream.a(FileStream.o):FileStream.cpp:(.text
+0x1a2): undefined reference to `TStream::TStream()'
C:/Bismuth/mod/Bismuth/IO/FileStream/.bismuth/ModuleFileStream.a(FileStream.o):FileStream.cpp:(.text
+0x231): undefined reference to `TStream::TStream()'
C:/Bismuth/mod/Bismuth/IO/FileStream/.bismuth/ModuleFileStream.a(FileStream.o):FileStream.cpp:(.text
+0x25e): undefined reference to `TStream::TStream()'
C:/Bismuth/mod/Bismuth/IO/FileStream/.bismuth/ModuleFileStream.a(FileStream.o):FileStream.cpp:(.text
$_ZN7TStreamD0Ev[TStream::~TStream()]+0xb): undefined reference to `VTT for TStream'
C:/Bismuth/mod/Bismuth/IO/FileStream/.bismuth/ModuleFileStream.a(FileStream.o):FileStream.cpp:(.text
$_ZN7TStreamD1Ev[TStream::~TStream()]+0xb): undefined reference to `VTT for TStream'
C:/Bismuth/mod/Bismuth/IO/FileStream/.bismuth/ModuleFileStream.a(FileStream.o):FileStream.cpp:(.rdat
a$_ZTV11TFileStream[vtable for TFileStream]+0x14): undefined reference to `TStream::Finalize()'
C:/Bismuth/mod/Bismuth/IO/FileStream/.bismuth/ModuleFileStream.a(FileStream.o):FileStream.cpp:(.rdat
a$_ZTV11TFileStream[vtable for TFileStream]+0x38): undefined reference to `TStream::ReadByte()'
C:/Bismuth/mod/Bismuth/IO/FileStream/.bismuth/ModuleFileStream.a(FileStream.o):FileStream.cpp:(.rdat
a$_ZTV11TFileStream[vtable for TFileStream]+0x3c): undefined reference to `TStream::ReadShort()'
C:/Bismuth/mod/Bismuth/IO/FileStream/.bismuth/ModuleFileStream.a(FileStream.o):FileStream.cpp:(.rdat
a$_ZTV11TFileStream[vtable for TFileStream]+0x40): undefined reference to `TStream::ReadInt()'
C:/Bismuth/mod/Bismuth/IO/FileStream/.bismuth/ModuleFileStream.a(FileStream.o):FileStream.cpp:(.rdat
a$_ZTV11TFileStream[vtable for TFileStream]+0x44): undefined reference to `TStream::ReadLong()'
C:/Bismuth/mod/Bismuth/IO/FileStream/.bismuth/ModuleFileStream.a(FileStream.o):FileStream.cpp:(.rdat
a$_ZTV11TFileStream[vtable for TFileStream]+0x48): undefined reference to `TStream::ReadFloat()'
C:/Bismuth/mod/Bismuth/IO/FileStream/.bismuth/ModuleFileStream.a(FileStream.o):FileStream.cpp:(.rdat
a$_ZTV11TFileStream[vtable for TFileStream]+0x4c): undefined reference to `TStream::ReadDouble()'
C:/Bismuth/mod/Bismuth/IO/FileStream/.bismuth/ModuleFileStream.a(FileStream.o):FileStream.cpp:(.rdat
a$_ZTV11TFileStream[vtable for TFileStream]+0x50): undefined reference to `TStream::WriteByte(char)'

C:/Bismuth/mod/Bismuth/IO/FileStream/.bismuth/ModuleFileStream.a(FileStream.o):FileStream.cpp:(.rdat
a$_ZTV11TFileStream[vtable for TFileStream]+0x54): undefined reference to `TStream::WriteShort(short
)'
C:/Bismuth/mod/Bismuth/IO/FileStream/.bismuth/ModuleFileStream.a(FileStream.o):FileStream.cpp:(.rdat
a$_ZTV11TFileStream[vtable for TFileStream]+0x58): undefined reference to `TStream::WriteInt(int)'
C:/Bismuth/mod/Bismuth/IO/FileStream/.bismuth/ModuleFileStream.a(FileStream.o):FileStream.cpp:(.rdat
a$_ZTV11TFileStream[vtable for TFileStream]+0x5c): undefined reference to `TStream::WriteLong(long l
ong)'
C:/Bismuth/mod/Bismuth/IO/FileStream/.bismuth/ModuleFileStream.a(FileStream.o):FileStream.cpp:(.rdat
a$_ZTV11TFileStream[vtable for TFileStream]+0x60): undefined reference to `TStream::WriteFloat(float
)'
C:/Bismuth/mod/Bismuth/IO/FileStream/.bismuth/ModuleFileStream.a(FileStream.o):FileStream.cpp:(.rdat
a$_ZTV11TFileStream[vtable for TFileStream]+0x64): undefined reference to `TStream::WriteDouble(doub
le)'
C:/Bismuth/mod/Bismuth/IO/FileStream/.bismuth/ModuleFileStream.a(FileStream.o):FileStream.cpp:(.rdat
a$_ZTV11TFileStream[vtable for TFileStream]+0x68): undefined reference to `TStream::ReadString(int)'

C:/Bismuth/mod/Bismuth/IO/FileStream/.bismuth/ModuleFileStream.a(FileStream.o):FileStream.cpp:(.rdat
a$_ZTV11TFileStream[vtable for TFileStream]+0x6c): undefined reference to `TStream::WriteString(Stri
ng*)'
C:/Bismuth/mod/Bismuth/IO/FileStream/.bismuth/ModuleFileStream.a(FileStream.o):FileStream.cpp:(.rdat
a$_ZTC11TFileStream0_7TStream[construction vtable for TStream-in-TFileStream]+0x14): undefined refer
ence to `TStream::Finalize()'
C:/Bismuth/mod/Bismuth/IO/FileStream/.bismuth/ModuleFileStream.a(FileStream.o):FileStream.cpp:(.rdat
a$_ZTC11TFileStream0_7TStream[construction vtable for TStream-in-TFileStream]+0x18): undefined refer
ence to `TStream::Eof()'
C:/Bismuth/mod/Bismuth/IO/FileStream/.bismuth/ModuleFileStream.a(FileStream.o):FileStream.cpp:(.rdat
a$_ZTC11TFileStream0_7TStream[construction vtable for TStream-in-TFileStream]+0x38): undefined refer
ence to `TStream::ReadByte()'
C:/Bismuth/mod/Bismuth/IO/FileStream/.bismuth/ModuleFileStream.a(FileStream.o):FileStream.cpp:(.rdat
a$_ZTC11TFileStream0_7TStream[construction vtable for TStream-in-TFileStream]+0x3c): undefined refer
ence to `TStream::ReadShort()'
C:/Bismuth/mod/Bismuth/IO/FileStream/.bismuth/ModuleFileStream.a(FileStream.o):FileStream.cpp:(.rdat
a$_ZTC11TFileStream0_7TStream[construction vtable for TStream-in-TFileStream]+0x40): undefined refer
ence to `TStream::ReadInt()'
C:/Bismuth/mod/Bismuth/IO/FileStream/.bismuth/ModuleFileStream.a(FileStream.o):FileStream.cpp:(.rdat
a$_ZTC11TFileStream0_7TStream[construction vtable for TStream-in-TFileStream]+0x44): undefined refer
ence to `TStream::ReadLong()'
C:/Bismuth/mod/Bismuth/IO/FileStream/.bismuth/ModuleFileStream.a(FileStream.o):FileStream.cpp:(.rdat
a$_ZTC11TFileStream0_7TStream[construction vtable for TStream-in-TFileStream]+0x48): undefined refer
ence to `TStream::ReadFloat()'
C:/Bismuth/mod/Bismuth/IO/FileStream/.bismuth/ModuleFileStream.a(FileStream.o):FileStream.cpp:(.rdat
a$_ZTC11TFileStream0_7TStream[construction vtable for TStream-in-TFileStream]+0x4c): undefined refer
ence to `TStream::ReadDouble()'
C:/Bismuth/mod/Bismuth/IO/FileStream/.bismuth/ModuleFileStream.a(FileStream.o):FileStream.cpp:(.rdat
a$_ZTC11TFileStream0_7TStream[construction vtable for TStream-in-TFileStream]+0x50): undefined refer
ence to `TStream::WriteByte(char)'
C:/Bismuth/mod/Bismuth/IO/FileStream/.bismuth/ModuleFileStream.a(FileStream.o):FileStream.cpp:(.rdat
a$_ZTC11TFileStream0_7TStream[construction vtable for TStream-in-TFileStream]+0x54): undefined refer
ence to `TStream::WriteShort(short)'
C:/Bismuth/mod/Bismuth/IO/FileStream/.bismuth/ModuleFileStream.a(FileStream.o):FileStream.cpp:(.rdat
a$_ZTC11TFileStream0_7TStream[construction vtable for TStream-in-TFileStream]+0x58): undefined refer
ence to `TStream::WriteInt(int)'
C:/Bismuth/mod/Bismuth/IO/FileStream/.bismuth/ModuleFileStream.a(FileStream.o):FileStream.cpp:(.rdat
a$_ZTC11TFileStream0_7TStream[construction vtable for TStream-in-TFileStream]+0x5c): undefined refer
ence to `TStream::WriteLong(long long)'
C:/Bismuth/mod/Bismuth/IO/FileStream/.bismuth/ModuleFileStream.a(FileStream.o):FileStream.cpp:(.rdat
a$_ZTC11TFileStream0_7TStream[construction vtable for TStream-in-TFileStream]+0x60): undefined refer
ence to `TStream::WriteFloat(float)'
C:/Bismuth/mod/Bismuth/IO/FileStream/.bismuth/ModuleFileStream.a(FileStream.o):FileStream.cpp:(.rdat
a$_ZTC11TFileStream0_7TStream[construction vtable for TStream-in-TFileStream]+0x64): undefined refer
ence to `TStream::WriteDouble(double)'
C:/Bismuth/mod/Bismuth/IO/FileStream/.bismuth/ModuleFileStream.a(FileStream.o):FileStream.cpp:(.rdat
a$_ZTC11TFileStream0_7TStream[construction vtable for TStream-in-TFileStream]+0x68): undefined refer
ence to `TStream::ReadString(int)'
C:/Bismuth/mod/Bismuth/IO/FileStream/.bismuth/ModuleFileStream.a(FileStream.o):FileStream.cpp:(.rdat
a$_ZTC11TFileStream0_7TStream[construction vtable for TStream-in-TFileStream]+0x6c): undefined refer
ence to `TStream::WriteString(String*)'
collect2: ld returned 1 exit status


Hoffe, ihr könnt mir noch Mal helfen.
Meine Sachen: https://bitbucket.org/chtisgit https://github.com/chtisgit

Noobody

BeitragFr, Mai 18, 2012 20:15
Antworten mit Zitat
Benutzer-Profile anzeigen
@Thunder: Welche g++/ld/ar-Version hast du? Tipp dafür g++ -v sowie ld -v und ar V auf der CMD ein.

Es kann auch sein, dass du BMax benutzt und den BMax/bin-Ordner auf dem PATH hast (um z.B. bmk von der CMD aus benutzen zu können). Da BMax mit einer eigenen Kopie von ld und ar kommt, kann es sein, dass er diese wählt statt der, die mit MinGW mitkommen, und daher vielleicht inkompatible Versionen ins Spiel kommen.

Tipp dazu am besten mal where ld, where ar und where g++ auf der CMD ein und schau mal, ob die erste Zeile bei allen drei auf den gleichen Ordner zeigt.
Man is the best computer we can put aboard a spacecraft ... and the only one that can be mass produced with unskilled labor. -- Wernher von Braun

Gehe zu Seite 1, 2, 3, 4  Weiter

Neue Antwort erstellen


Übersicht Sonstiges Projekte

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group