Build Error: failed to compile freeaudio.cpp
Übersicht

TritiumBetreff: Build Error: failed to compile freeaudio.cpp |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Ja, der Titel sagt's eigentlich schon: Beim Kompilieren meines (ersten) eigenen Moduls bekomme ich folgenden Fehler:
Code: [AUSKLAPPEN] Building Modules
Compiling:freeaudio.cpp Build Error: failed to compile E:/BlitzMax/mod/pub.mod/freeaudio.mod/freeaudio.cpp Process complete Ich hab die neueste MinGW-Version installiert und die Umgebungsvariablen gesetzt. Mein Modul besteht im Moment aus nicht mehr als dem Rem-Block am Anfang, Module, ModuleInfo, Strict und einem "Import BRL.Blitz". Wäre nett, wenn jemand eine Lösung kennt. [Edit] Hab mal den Titel ein bisschen geändert, da die vollständige Fehlermeldung zu lang war. |
||
![]() |
Thunder |
![]() Antworten mit Zitat ![]() |
---|---|---|
Gehe ich richtig in der Annahme, dass du in der IDE "Build Modules" oder "Rebuild all Modules" drückst?
(sonst würde BlitzMax nicht versuchen pub.freeaudio zu bauen) Hast du bei MinGW auch den C++ Compiler installiert? (wenn nicht, ist es klar, wieso MinGW versagt) Wenn ja, dann probiere bitte Mal, in die Kommandozeile einzusteigen; dann in den Unterordner bin/ (im BlitzMax-Hauptverzeichnis) zu wechseln und dort folgende Zeile einzugeben: Zitat: bmk makemods -a dein.modul
mfg Thunder PS: brl.blitz musst du nicht importieren. |
||
Meine Sachen: https://bitbucket.org/chtisgit https://github.com/chtisgit |
Tritium |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Thunder hat Folgendes geschrieben: Gehe ich richtig in der Annahme, dass du in der IDE "Build Modules" oder "Rebuild all Modules" drückst?
Jau, das stimmt. Muss ich was anderes machen? Hab davon keine Ahnung ![]() Thunder hat Folgendes geschrieben: Hast du bei MinGW auch den C++ Compiler installiert?
(wenn nicht, ist es klar, wieso MinGW versagt) Jetzt hab ich die offizielle Lizenz, mir in den Allerwertesten zu beißen ![]() Thunder hat Folgendes geschrieben: PS: brl.blitz musst du nicht importieren.
Hab mich eh gefragt, was ich eigentlich importieren muss. Wird bei einem Modul standardmäßig alles importiert? Oder nur BRL.Blitz? Hab mich eh gewundert, dass in den Quellcodes kein "Framework", dafür aber "Import" auftaucht. |
||
![]() |
blackgecko |
![]() Antworten mit Zitat ![]() |
---|---|---|
"Build Modules" in der IDE heißt, nur die Module kompilieren, die nicht kompiliert sind, bei "Rebuild all Modules" werden alle Module neu kompiliert - das kann etwas dauern.
Soweit ich weiß wird bei einem Modul standardmäßig gar nichts importiert. Du musst dich selbst drum kümmern, dass alles eingebunden wird, was das Modul braucht. Ausnahme sind grundlegende BlitzMax-Bestandteile, die auch intern gebraucht werden - und die sind alle versammelt in brl.blitz! Wenn du so willst, bewirkt "import brl.blitz" damit eigentlich gar nichts. Ach ja: "Framework" darf in einem Modul nicht auftauchen (würde ja auch keinen Sinn machen), deshalb hast dus nirgends gefunden ![]() |
||
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. |
![]() |
mpmxyz |
![]() Antworten mit Zitat ![]() |
---|---|---|
Welche Umgebungsvariablen hast du geändert? "Path" und "MinGW"?
Welche Werte hast du gesetzt/angefügt? Ansonsten kann ich dir die Option über "Ausführen..."/Startmenüsuche empfehlen. (unterm Strich das gleiche wie mit der Komandozeile) Dort gibst du dann dies ein und führst es aus: "C:\<BlitzMax-Pfad>\bin\bmk makemods -a <name1.name2>" Um etwas auch mit Threads nutzbar zu machen, musst du dies noch über "C:\<BlitzMax-Pfad>\bin\bmk makemods -a -h <name1.name2>" kompilieren. mfG mpmxyz PS @blackgecko: Bei mir wird bei jeder Möglichkeit jedes Modul kompiliert. |
||
Moin Moin!
Projekte: DBPC CodeCruncher Mandelbrot-Renderer |
![]() |
blackgecko |
![]() Antworten mit Zitat ![]() |
---|---|---|
@mpmxyz:
Bei mir nicht. Und laut Sourcecode der MaxIDE sollte das auch nicht so sein: BlitzMax: [AUSKLAPPEN] Case MENUBUILDMODULES |
||
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. |
Tritium |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
So, hab MinGW neu installiert, jetzt kompiliert er auch brav.
@mpmxyz: Ja, hab beide Umgebungsvariablen gesetzt (also bei PATH den Pfad für MinGW mit Semikolon hinzugefügt). Wo liegt denn der Unterschied zwischen dem Menüpunkt "Build Modules" und der Anweisung per Kommandozeile? [Edit] Neues Problemchen. Folgender Code: BlitzMax: [AUSKLAPPEN] Print "Hello World" ...erzeugt folgende Ausgabe: Code: [AUSKLAPPEN] Building untitled1
Compiling:untitled1.bmx flat assembler version 1.68 (1022714 kilobytes memory) 3 passes, 2513 bytes. Linking:untitled1.debug.exe Executing:untitled1.debug.exe Warning: .drectve `-aligncomm:"_joyhandle",5' unrecognized Warning: .drectve `-aligncomm:"_ReadStream",2 ' unrecognized Warning: .drectve `-aligncomm:"_WriteStream",2 ' unrecognized Warning: .drectve `-aligncomm:"_ccinfo",5 ' unrecognized Warning: .drectve `-aligncomm:"_jerr",5' unrecognized Warning: .drectve `-aligncomm:"_stdin_",2 ' unrecognized Warning: .drectve `-aligncomm:"_stdout_",2 ' unrecognized Warning: .drectve `-aligncomm:"_stderr_",2' unrecognized Warning: .drectve `-aligncomm:"_bbGCStackTop",2 ' unrecognized Warning: .drectve `-aligncomm:"__bbusew",2' unrecognized Warning: .drectve `-aligncomm:"__bbNeedsLock",2 ' unrecognized Warning: .drectve `-aligncomm:"__bbLock",2' unrecognized Hello World Process complete Was sagt mir das? |
||
Jumper |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Vor dem Problem stand ich am Anfang auch. Mit alten Versionen von MinGW scheint alles kein Problem zu sein, doch die findet man heute nur noch schwer oder auch gar nicht. Ich hatte zumindest keine Version gefunden mit der es wirklich funktioniert hätte.
Nach langer Suche hatte mir ein Beitrag im englischem Forum geholfen das Problem zu lösen: Hier das wesentliche auf Deutsch: Wenn Du eine neuere Version von MinGW nutzt, und das wirst Du wenn ich die Fehlermeldung betrachte, sind diese Schritte notwendig, damit die Erstellung wirklich funktioniert: Überschreibe die Dateien blitzmax/bin/ar.exe und blitzmax/bin/ID.exe mit den gleichnamigen Dateien aus dem Verzeichnis MinGW/bin Außerdem musst Du alle Dateien aus dem Verzeichnes mingw/lib nach blitzmax/lib kopieren. Gleichnamige Dateien müssen dabei Überschrieben werden! Hat bei mir wunderbar geholfen. Seitdem klappt es mit Build Modules und auch mit der Kommandozeile ohne Probleme. mfg. Jumper |
||
Tritium |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Hat auf Anhieb geklappt, danke! ![]() Ich hatte hier in einigen Beiträgen gelesen, dass man wohl Version 3.1.0.1 von MinGW braucht, allerdings hab ich die nicht gefunden und dann notgedrungen die neueste installiert. Außerdem gabs auch nirgendwo eine eindeutige Aussage, ob man MinGW überhaupt braucht, wenn man nur mit BMax programmiert. Angeblich sollte es dann auch ohne gehen, allerdings waren bei mir die Menüpunkte ausgegraut, um Module builden zu können. |
||
![]() |
BladeRunnerModerator |
![]() Antworten mit Zitat ![]() |
---|---|---|
Du kannst mit BMax auch ohne GCC arbeiten- du kannst dann nur keine Module erstellen (wobei selbst das eigentlich nur bedingt zutreffen dürfte, es betrifft ja nur Sources die C++-Codes mit einbinden). Ansonsten ist die Sprache auch ohne GCC voll funktionsfähig, da BMax ja mittels FASM direkt in Maschinencode übersetzt. | ||
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 |
Jumper |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
BladeRunner hat Folgendes geschrieben: (wobei selbst das eigentlich nur bedingt zutreffen dürfte, es betrifft ja nur Sources die C++-Codes mit einbinden)
Das glaube ich eher nicht, denn ohne MinGW wird kein neues Modul eingebunden, siehe Hallo Welt von Tritium. Die Erfahrung hatte ich auch so gemacht. Man kann BMax zwar nutzen, und eigenen Code wie bisher bei BB mit Includes einbinden, aber eigene Module sind nach meiner Meinung nur mit MinGW möglich. mfg Jumper |
||
![]() |
Thunder |
![]() Antworten mit Zitat ![]() |
---|---|---|
Ohne es jetzt getestet zu haben (MinGW deinstallieren, testen und wieder installieren ist etwas umständlich), denke ich doch, dass BladeRunner recht hat. BlitzMax Quelltext wird mit flat assembler assembliert, dann mit ld gelinkt und im Fall von einem Modul noch mit ar zu einer Lib umgebaut.
Das heißt, BlitzMax-Quelltexte, die nur bereits kompilierte Module importieren sollten ohne MinGW kompiliert werden können (unabhängig davon, ob das jetzt eine Applikation oder ein Modul ist). Falls es jemand weiß und ich falsch liege, bitte ich, mich zu korrigieren. mfg Thunder |
||
Meine Sachen: https://bitbucket.org/chtisgit https://github.com/chtisgit |
Jumper |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Da ich gerade eine neue Festplatte einrichte, habe ich mal schnell den Test ohne installiertem MinGW gemacht.
Tatsächlich, ein Modul kann man aus BMax-Code auch ohne MinGW erstellen. Hätte ich nicht gedacht, da es Anfangs bei mir nicht funktioniert hatte. Aber vermutlich hatte ich da noch andere Fehler gemacht. Mfg Jumper |
||
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group