PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : OpenRA kompilieren


Geldmann3
2012-08-17, 16:17:29
Vielleicht haben einige von euch schon von OpenRa (http://de.cnc.wikia.com/wiki/OpenRA) gehört. Der Quelltext kann HIER (https://github.com/chrisforbes/OpenRA) heruntergeladen werden.

Nun habe ich das gesamte Verzeichnis entpackt und die OpenRa.sln Datei mit MonoDevelop geöffnet. Wenn ich jetzt allerdings auf Erstellen klicke, kommt es zu einer Fehlermeldung.
"Fehler beim Ausführen von befehl 'cp': Das System kann die angegebene Datei nicht finden"

Da der Code bereitgestellt wurde, suche ich dort wohl vergeblich nach dem Fehler. (Davon abgesehen, dass ich selbst nicht so in der Materie bin)

Daher gehe ich davon aus, dass ich etwas falsch mache. Jemand eine Idee?

Es entsteht zwar eine .exe Datei, die läuft aber nicht....

Baalzamon
2012-08-17, 16:40:01
Ich kenne mich mit MonoDevelop nicht aus, aber 'cp' ist der Standard-Kopierbefehl unter Linux.

Ich nehme an du willst unter Windows kompilieren, das kennt den Befehl nicht.

Hilft dir das weiter? Wohl nicht wirklich. ;)

Marscel
2012-08-17, 16:40:51
cp ist ein Unix Shell-Befehl, also installier z.B. MSYS oder Cygwin und füg deren bin-Verzeichnis der PATH-Variablen hinzu.

Geldmann3
2012-08-17, 17:02:34
cp ist ein Unix Shell-Befehl, also installier z.B. MSYS oder Cygwin und füg deren bin-Verzeichnis der PATH-Variablen hinzu.
Habe jetzt Cygwin installiert. Was meinst du mit?
deren bin-Verzeichnis der PATH-Variablen hinzu.
Soll ich "C:\cygwin\bin" hinzufügen? Wohin/zu?

Baalzamon
2012-08-17, 17:07:18
Zu deiner PATH-Variable. Früher war das mal unter Start->Einstellungen->System->Erweitert->Umgebungsvariablen. Wo das bei neueren Windows ist kann ich so aus dem Kopf nicht sagen, sollte sich aber im Netz finden lassen. ;)

Ich nehme an MonoDeveloper ist kein Kommandozeilen-Tool, ansonsten würde es reichen in der Eingabeaufforderung die PATH-Variable temporär zu setzen.

Testen ob es funktioniert hat, kannst du in dem du eine Eingabeaufforderung öffnest und einfach mal cp eintippst. Wenn er nicht sagt 'Befehl nicht gefunden' dann wars in Ordnung.

Marscel
2012-08-17, 17:08:52
Ich weiß nicht, ob Cygwin das bei der Installation nicht schon selbst erledigt. Also Kommandozeile öffnen und "cp" eintippen. Wenn da was von "missing file arguments" steht, ist alles gut.

Ansonsten musst du nach die Umgebungsvariablen öffnen (unter XP ist das glaube ich bei "System" in der Sys.steuerung, bei 7 einfach suchen), und bei PATH ";C:\Cygwin\bin" am Ende hinzufügen.

Geldmann3
2012-08-17, 17:20:17
Habe den Pfad nun manuell hinzugefügt, CMD reagiert auch darauf und kennt den Befehl nun.
cp: missing file operand
Try `cp --help' for more information.
Doch MonoDevelop zeigt nach einem Neustart von sich selbst beim Erstellen immer noch den selben Fehler.

Der Debugger zeigt ausserdem folgenden Fehler:
System.DllNotFoundException wurde geworfen

Marscel
2012-08-17, 17:33:43
Der Debugger zeigt ausserdem folgenden Fehler:

Irgendein Post-Make-Script kopiert wohl einfach eine DLL-Datei nicht in den Ausgabeordner. In der Exceptionmessage müsste stehen, welche das ist. Such sie und kopier sie einfach manuell, sicherlich zielführender als weiter nach dem cp-Fehler zu suchen.

Geldmann3
2012-08-17, 18:01:42
In der Message steht:
Die DLL "SDL.dll": Das angegebene Modul wurde nicht gefunden. (Ausnahme von HRESULT: 0x8007007E) kann nicht geladen werden.
Habe die SDL.dll nun in den Ordner kopiert.
Hat aber auch nicht wirklich was gebracht.

Marscel
2012-08-17, 18:11:53
Neben die exe? Standalone solltest du das dann aber starten können, es sei denn, da fehlen noch mehr.

Geldmann3
2012-08-17, 18:16:11
Wenn ich die erstellte .exe Datei starte, geht es kurz auf und direkt wieder zu. Der Debugger bringt dabei nur erste Fehlermeldung.

Wenn ich auf "Ausführen mit Microsoft .NET" gehe kommt->
Platform is Windows

Using Gl renderer

Desktop resolution: 1920x1080

No custom resolution provided, using desktop resolution

Using resolution: 1920x1080

Available mods:

cnc: C&C ({DEV_VERSION})

d2k: Dune 2000 (beta) ({DEV_VERSION})

example: Example Mod (a0001)

ra: Red Alert ({DEV_VERSION})

ra_perf: RA Perf (a0001)

Loading mods: ra

Exception of type `System.IO.FileNotFoundException`: Das System kann die angegebene Datei nicht finden. (Ausnahme von HRESULT: 0x80070002)

bei System.Reflection.Assembly.nLoadFile(String path, Evidence evidence)

bei System.Reflection.Assembly.LoadFile(String path)

bei OpenRA.ObjectCreator..ctor(Manifest manifest) in d:\Eigene Musik\Zeitlicher Ordner 2\OpenRA-OpenRA-9bce858\OpenRA.Game\ObjectCreator.cs:Zeile 34.

bei OpenRA.ModData..ctor(String[] mods) in d:\Eigene Musik\Zeitlicher Ordner 2\OpenRA-OpenRA-9bce858\OpenRA.Game\ModData.cs:Zeile 36.

bei OpenRA.Game.InitializeWithMods(String[] mods) in d:\Eigene Musik\Zeitlicher Ordner 2\OpenRA-OpenRA-9bce858\OpenRA.Game\Game.cs:Zeile 292.

bei OpenRA.Game.Initialize(Arguments args) in d:\Eigene Musik\Zeitlicher Ordner 2\OpenRA-OpenRA-9bce858\OpenRA.Game\Game.cs:Zeile 264.

bei OpenRA.Program.Run(String[] args) in d:\Eigene Musik\Zeitlicher Ordner 2\OpenRA-OpenRA-9bce858\OpenRA.Game\Support\Program.cs:Zeile 89.

bei OpenRA.Program.Main(String[] args) in d:\Eigene Musik\Zeitlicher Ordner 2\OpenRA-OpenRA-9bce858\OpenRA.Game\Support\Program.cs:Zeile 36.



Da wird einiges nicht gefunden??

Marscel
2012-08-17, 18:22:51
Das Fehler kommt aber schon etwas später, Readme prüfen oder die Jungs da fragen.

Coda
2012-08-17, 18:59:44
Ich geh mal davon aus, dass man auch die Original-Spieldaten braucht.

Geldmann3
2012-08-17, 22:51:13
Eine Idee, wo die hinmüssen? Die fertige Originalversion lässt sich ja auch ohne Spieldaten starten und fragt anschließend erst ob diese heruntergeladen werden sollen..

Coda
2012-08-18, 12:41:09
https://github.com/OpenRA/OpenRA/wiki/Compiling

Geldmann3
2012-08-18, 13:48:01
Ok, zu
Get the source
Da müsste ich mir doch auch genauso gut das .zip Packet herunterladen können oder?

The game won’t start if it can’t find some external dependencies. You can find them in thirdparty/ folder which has to be copied into in OpenRA root folder.
Wo soll ich die external dependencies aus dem thirdparty/ Ordner denn hinkopieren, der thirdparty/ Ordner ist doch bereits im Spielverzeichnis.

Gast
2013-09-29, 13:45:51
Alle DLLs müssen in das Hauptverzeichnis. Ich habe https://github.com/OpenRA/OpenRA/blob/bleed/INSTALL jetzt etwas ergänzt.