Modul kompilieren schlägt fehl

Übersicht BlitzMax, BlitzMax NG Beginners-Corner

Neue Antwort erstellen

 

E. Urbach

ehemals "Basicprogger"

Betreff: Modul kompilieren schlägt fehl

BeitragSo, Jun 04, 2006 9:46
Antworten mit Zitat
Benutzer-Profile anzeigen
Seit einiger Zeit gibt BlitzMax bei mir einen Fehler aus, wenn ich versuche ein Modul zu kompilieren oder wenn ich ein Modul in den Mod-Ordner packe, welches nicht kompiliert ist.

Beispiel Nr.1:
Ich packe das Modul DreiDe von Vertex in den Ordner mod/pub.mod/ und versuche es zu kompilieren, was auch funktioniert, bloss der Linker streikt:

Zitat:
Building test
Compiling:test.bmx
flat assembler version 1.64
3 passes, 1986 bytes.
Linking:test.debug.exe
D:/Programme/BlitzMax/bin/ld.exe: cannot find D:/Programme/BlitzMax/mod/pub.mod/dreide.mod/dreide.debug.win32.x86.a
Build Error: Failed to link E:/Tests/test/test.debug.exe
Process complete


Beispiel Nr.2:
Wenn ich versuche, das Modul "eliza.mod" (3D-Engine) zu installieren (.mod nach pub/eliza.mod, libs nach /lib und dlls nach %windir%/system32/) dann gibt es einen Fehler bezglich einer mir unbekannten Datei
Zitat:
msvcr71.dll

Ich habe mir diese Datei heruntergeladen und ins entsprechende Verzeichnis gepackt, woraufhin ein weiterer Fehler erscheint, dass eine Zugriffsverletzung stattfindet o.Ä.

Ich habe schon alles mögliche versucht und weiß einfach nicht weiter, ich hoffe ihr könnt mir helfen Sad

System:
- Win32, XP Pro, als Admin angemeldet
- Blitz Max Vollversion 1.20
- MaxGUI
- GeForce
- DirectX 9.0c
- x86
The box said, "Requires Windows XP or better", so I installed Ubuntu | Linux is NOT Windows
Flua :: Profiler für BB und BMax :: Partikel-Engine für BMax :: Lyphia-Projekt Quellcode (BMax) :: Automatische Parallelisierung :: Meine Musik
 

Dreamora

BeitragSo, Jun 04, 2006 11:02
Antworten mit Zitat
Benutzer-Profile anzeigen
1. das was da steht sagt aber explizit das du versuchst die sources per IDE - Build zu kompilieren, was falsch ist bei einem modul. Entweder du machst build all modules (ctrl-d) oder du gehst ins blitzmax/bin verzeichnis in der konsole und rufst bmk makemods pub.dreide auf.

Beides setzt ein installiert und entsprechend BlitzMax korrekt eingerichtetes MingW voraus

2. Klingt als hättest du die DLL nicht registriert ... die von dir erwähnte DLL ist eine VC++ 7.1 runtime dll ... die wird eigentlich von unzähligen programmen mitgebracht und dann auch korrekt installiert ... such sonst ma im netz wie man die korrekt installiert, einfach reinkopieren (weder in anwendungsordner noch windows/system32) wird wahrscheinlich nicht ausreichen, da es eine MS system dll ist.
Ihr findet die aktuellen Projekte unter Gayasoft und könnt mich unter @gayasoft auf Twitter erreichen.
 

E. Urbach

ehemals "Basicprogger"

BeitragSo, Jun 04, 2006 13:27
Antworten mit Zitat
Benutzer-Profile anzeigen
Zitat:
das was da steht sagt aber explizit das du versuchst die sources per IDE - Build zu kompilieren, was falsch ist bei einem modul

test.bmx ist eine Datei in der nur der folgende Code steht:
Code: [AUSKLAPPEN]
Print "Test"

Das Kompilieren eines Moduls mit bmk hat bei mir noch nie funktioniert, er gibt einfach gar nicht aus (oder soll er das?)

Jedenfalls hab ich das mit Ctrl + D ausprobiert und es kommt folgendes:
Zitat:
Building Modules
Compiling:blitz_app.c
Build Error: failed to compile D:/Programme/BlitzMax/mod/brl.mod/blitz.mod/blitz_app.c
Process complete

Mach ich was falsch oder ist mein BMax jetzt schrott?

P.S. Der Fehler mit der Runtime-Datei erscheint übrigens auch, wenn ich Winamp einige Zeit laufen lasse. Der Fehler tritt erst auf, seitdem ich Eliza3D installiert habe.
The box said, "Requires Windows XP or better", so I installed Ubuntu | Linux is NOT Windows
Flua :: Profiler für BB und BMax :: Partikel-Engine für BMax :: Lyphia-Projekt Quellcode (BMax) :: Automatische Parallelisierung :: Meine Musik
 

Dreamora

BeitragSo, Jun 04, 2006 13:35
Antworten mit Zitat
Benutzer-Profile anzeigen
Kompilieren von Modulen funktioniert nur mit korrekt installiertem MingW, welches zusätzlich um die MingW umgebungsvariable erweitert wurde (die auf das MingW Verzeichnis verweist). Was nicht funktioniert ist wenn man versucht neuere Varianten von GCC zu verwenden zb die die mit DevC++ kommt. Dann bekommt man zb den Fehler den du auch erhalten hast mit app.c. Habe mich selbst auch einige Zeit damit rumgeärgert bis ich realisiert habe, das es an der neueren Version liegt.
Darüber hinaus gab es zumindest bei 1.18 das genannte Problem auch, wenn man einfach 1.18 über 1.16 raus installiert hat, weil dann die Versionen irgendwie durcheinander kamen. Dann gibts 2 Möglichkeiten: Verzeichnis löschen und BM 1.18 + patch auf 1.20 neu installieren oder alle .a und .i sowie .bmx Verzeichnisse löschen in allen Modulen (oder dem, das du kompilieren willst)

bmk makemods pub.dreide sollte eigentlich ein paar zeilen ausspucken für die .a und .i die generiert werden. Dazu muss es jedoch über kommandozeile oder verknüpfung aufgerufen werden, da es eine reine konsolenanwendung ist.


Und was den andere Fehler betrifft: Da würde ich ganz spontan drauf tippen, das du etwas mit einer älteren Version einer Datei überschriben hast beim kopieren der DLL nach System32 ... deswegen rate ich davon eigentlich prinzipiell ab (will heissen, meine eliza dlls sind im blitzmax/tmp verzeichnis und im jeweiligen projektordner), sofern man nicht genau weiss was man tut ... weil man damit mehr kaputt machen kann als einem lieb ist.
Ihr findet die aktuellen Projekte unter Gayasoft und könnt mich unter @gayasoft auf Twitter erreichen.
 

E. Urbach

ehemals "Basicprogger"

BeitragSo, Jun 04, 2006 13:46
Antworten mit Zitat
Benutzer-Profile anzeigen
Zitat:
Kompilieren von Modulen funktioniert nur mit korrekt installiertem MingW

Das hab ich anscheinend übersehen (sry), ich dachte MingW von DevC++ reicht aus, na gut, weiss vielleicht jemand wo ich MingW (kompatibel zu BMax) als "StandAlone" herkriege?

Zitat:
bmk makemods pub.dreide sollte eigentlich ein paar zeilen ausspucken für die .a und .i die generiert werden. Dazu muss es jedoch über kommandozeile oder verknüpfung aufgerufen werden, da es eine reine konsolenanwendung ist.

Start > Ausführen > "cmd" > cd BlitzMax/bin > bmk makemods pub.dreide > dauert ca. 3 sek. und er spuckt nichts aus

P.S. Hab was gefunden:
http://www.mingw.org/download.shtml
Welche Dateien sollte ich herunterladen?
Nur die MingW Runtime?

Edit:
Wohin kommen die Include-Dateien?
Muss ich neustarten?
 

Dreamora

BeitragSo, Jun 04, 2006 13:49
Antworten mit Zitat
Benutzer-Profile anzeigen
MingW-3.0.0.1.exe oder MingW-3.1.0.1 musste nehmen (ja ich weiss, beide sind bald 3 Jahre alt).


Die Dateien die mitkommen bei der Installation / Entpacken einfach da lassen wo sie sind. Um die musst du dir keinen Kopf machen Smile Einzig die Path und MingW Umgebungsvariable müssen entsprechend eingerichtet sein.
Ihr findet die aktuellen Projekte unter Gayasoft und könnt mich unter @gayasoft auf Twitter erreichen.
 

E. Urbach

ehemals "Basicprogger"

BeitragSo, Jun 04, 2006 14:20
Antworten mit Zitat
Benutzer-Profile anzeigen
Vielen Dank, es funktioniert tatsächlich.
Ich glaube, das war auch der Grund, wieso ich keine Quelltexte aus C einbinden konnte.

Nur eins noch: Geht es auch mit neueren Versionen von MingW?

Edit: Der Fehler mit der Datei MSVCR71.dll erscheint aber immer noch, weswegen ich kein BMax-Programm starten kann, kompilieren jedoch schon.

Edit2:
Nachdem ich mir die Datei heruntergeladen hab, erscheint eine Fehlermeldung:
Zitat:
Die Anwenung konnte nicht richtig initialisiert werden (0x0000001d).
The box said, "Requires Windows XP or better", so I installed Ubuntu | Linux is NOT Windows
Flua :: Profiler für BB und BMax :: Partikel-Engine für BMax :: Lyphia-Projekt Quellcode (BMax) :: Automatische Parallelisierung :: Meine Musik
 

Dreamora

BeitragSo, Jun 04, 2006 14:47
Antworten mit Zitat
Benutzer-Profile anzeigen
es gibt keine neueren Versionen von MingW als 3.1.0.1 ... insofern: Nein geht nicht.

Benenn mal das eliza.mod um in eliza.mod bak so das es nimmer mit reinkompiliert wird (alles aus pub und brl wird standardmässig mit angehängt, weswegen ich solche module nicht in pub / brl packe), dann verschwindet das problem mit dem ausführen von exe.
Ihr findet die aktuellen Projekte unter Gayasoft und könnt mich unter @gayasoft auf Twitter erreichen.
 

E. Urbach

ehemals "Basicprogger"

BeitragSo, Jun 04, 2006 14:58
Antworten mit Zitat
Benutzer-Profile anzeigen
Zitat:

Benenn mal das eliza.mod um in eliza.mod bak so das es nimmer mit reinkompiliert wird

Aber das will ich doch gerade erreichen Smile

Übrigens: Nur das Kompilieren der Module funktioniert, das Ausführen von DreiDe, Eliza3D oder MiniB3D funktioniert trotzdem nicht.

DreiDe:
T3DSLoader not found.

Eliza3D:
MSVCR71.dll nicht gefunden bzw. Initialisierungsproblem (0x0000001d)

MiniB3D:
Unhandled Memory Exception Error bei RenderWorld

Dabei brauch ich doch bis September eine funktionierende 3D-Engine Sad
The box said, "Requires Windows XP or better", so I installed Ubuntu | Linux is NOT Windows
Flua :: Profiler für BB und BMax :: Partikel-Engine für BMax :: Lyphia-Projekt Quellcode (BMax) :: Automatische Parallelisierung :: Meine Musik
 

Dreamora

BeitragSo, Jun 04, 2006 15:01
Antworten mit Zitat
Benutzer-Profile anzeigen
Bei DreiDe sicher das alles korrekt entpackt wurde? (kanns aktuell net genauer sagen, da ich mit der "alten" Version rumexperimentiere)

Bei Eliza wirst du wohl oder übel verzichten müssen.

Was mich wundert, ist das die "wichtigste" Engine eigentlich fehlt ... Irrlicht mittels GMax Wrappermodule ...
Ihr findet die aktuellen Projekte unter Gayasoft und könnt mich unter @gayasoft auf Twitter erreichen.
 

E. Urbach

ehemals "Basicprogger"

BeitragMo, Jun 05, 2006 12:40
Antworten mit Zitat
Benutzer-Profile anzeigen
Zitat:
... Irrlicht mittels GMax Wrappermodule ...

Da hatte ich gestern nen 404...

Habs mir heute von einer anderen Quelle heruntergeladen...wie immer...

Irrlicht 1.0
Zitat:
Building untitled2
Compiling:untitled2.bmx
Compile Error: Can't find interface for module 'gg.irrlicht'
[D:/Programme/BlitzMax/mod/pub.mod/gg.mod/irrbmax.mod/irrbmax.debug.win32.x86.i;9;1]
Build Error: failed to compile D:/Programme/BlitzMax/tmp/untitled2.bmx
Process complete


Wo hab ich den Fehler gemacht? Ich hab nur die mod-Dateien entpackt, muss ich noch etwas zusätzliches machen?

Edit:
Hat sich erledigt, gg.mod musste neben pub und brl stehen.

Edit2:
Ok, es funzt.
Wo finde ich Tutorials zu BMax-Irrlicht? Sind es dieselben Funktionen wie in C++?
The box said, "Requires Windows XP or better", so I installed Ubuntu | Linux is NOT Windows
Flua :: Profiler für BB und BMax :: Partikel-Engine für BMax :: Lyphia-Projekt Quellcode (BMax) :: Automatische Parallelisierung :: Meine Musik
 

Dreamora

BeitragMo, Jun 05, 2006 13:19
Antworten mit Zitat
Benutzer-Profile anzeigen
die sollten eigentlich in einem der beiden zip files drin sein (sind ja zwei) ... ansonsten ist es mehr oder weniger das von C++ her, ja.
Ihr findet die aktuellen Projekte unter Gayasoft und könnt mich unter @gayasoft auf Twitter erreichen.

Neue Antwort erstellen


Übersicht BlitzMax, BlitzMax NG Beginners-Corner

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group