bmk makeapp - Wie funktioniert es?
Übersicht

![]() |
M0rgensternBetreff: bmk makeapp - Wie funktioniert es? |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hallo Leute,
Ich versuche gerade den innerhalb eines Programmes den Compiler nochmal anzuwerfen. Ich mache das folgendermaßen: BlitzMax: [AUSKLAPPEN] Local process:TProcess = CreateProcess("~qD:\Programme\BlitzMax\bin\bmk.exe~q makeapp -a -h temp_TestFile.bmx", 1) Als Ausgabe bekomme ich: Zitat: Compiling:temp_TestFile.bmx
DebugLog:Ended Da fehlt ja offensichtlich das Linking. Und eine .exe wird auch nicht erstellt. Kann mir bitte jemand weiterhelfen? Was mache ich falsch? Also, die Datei die kompiliert werden soll gibt es auf jeden fall. Lg, M0rgenstern |
||
![]() |
Propellator |
![]() Antworten mit Zitat ![]() |
---|---|---|
Ich würde mal sagen er versucht ld.exe aufzurufen, welcher er aber nicht finden kann weils nicht im current working directory ist. ChangeDir benutzen, um nach BlitzMax/bin zu wechseln. | ||
Propellator - Alles andere ist irrelephant.
Elefanten sind die Könige der Antarktis. |
![]() |
M0rgenstern |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hm.
Hilf irgendwie nicht. Neue Code: BlitzMax: [AUSKLAPPEN] Local sDir:String = CurrentDir() + "/temp_TestFile.bmx" Ausgabe: Zitat: DebugLog:Dir: D:/Programmierung/BlitzMax/WIP/Automatic_UnitTests/temp_TestFile.bmx
DebugLog:CurDir: D:/Programme/BlitzMax/bin Compiling:temp_TestFile.bmx DebugLog:Ended Also ins BlitzMax/bin Verzeichnis zu wechseln scheint nichts zu bringen... Lg, M0rgenstern |
||
![]() |
XeresModerator |
![]() Antworten mit Zitat ![]() |
---|---|---|
Ich würde den zweiten Pfad auch escapen. Wozu ist der Flag 1 bei CreateProcess gut?
Funktioniert bei mir: Code: [AUSKLAPPEN] CreateProcess("~qC:\Program Files\BlitzMax\bin\bmk.exe~q makeapp ~qcode.bmx~q")
|
||
Win10 Prof.(x64)/Ubuntu 16.04|CPU 4x3Ghz (Intel i5-4590S)|RAM 8 GB|GeForce GTX 960
Wie man Fragen richtig stellt || "Es geht nicht" || Video-Tutorial: Sinus & Cosinus THERE IS NO FAIR. THERE IS NO JUSTICE. THERE IS JUST ME. (Death, Discworld) |
![]() |
M0rgenstern |
![]() Antworten mit Zitat ![]() |
---|---|---|
Also das ganze zu escapen funktioniert nicht.
Ich habe jettz mal den zweiten Parameter bei CreateProzess rausgenommen (stand so in der BMax Hilfe). Jetzt geht kurz die Konsole auf. Da wird auch irgendwas reingeschrieben, aber die Konsole geht so schnell zu, dass ich nichts lesen kann. Also wie gesagt, alles zu escapen funktioneirt nicht. Weder mit Changedir noch mit expliziten Pfadangaben etc. Ich verzweifel noch -.- Lg, M0rgenstern |
||
![]() |
BladeRunnerModerator |
![]() Antworten mit Zitat ![]() |
---|---|---|
Lass das Ganze als Admin ausführen. | ||
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 |
![]() Antworten mit Zitat ![]() |
---|---|---|
Für den Output kannst du die Pipe des Prozesses lesen.
BlitzMax: [AUSKLAPPEN] While process.pipe.ReadAvail() > 0 |
||
Propellator - Alles andere ist irrelephant.
Elefanten sind die Könige der Antarktis. |
![]() |
M0rgenstern |
![]() Antworten mit Zitat ![]() |
---|---|---|
Ha.
Vielen Dank Leute. Es funktioniert jetzt... Sorry, war ein sau blöder Fehler. Die Datei die kompilert werden sollte, war nicht ganz richtig. Also, wenn ich die von Hand kompilert habe, dann gabs nen Fehler. Ich hab zwar den Prozess ausgelesen (siehe Post 1) aber das hats mir trotzdem nicht angezeigt. Lg, M0rgenstern |
||
![]() |
Propellator |
![]() Antworten mit Zitat ![]() |
---|---|---|
Ich vermute mal, weil er nach dem Delay(100) schon beendet wurde, d.h. Status() != 1 war und du deshalb den ganzen Rest des Outputs verpasst hast. Jedoch nur blind geraten. | ||
Propellator - Alles andere ist irrelephant.
Elefanten sind die Könige der Antarktis. |
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group