Not logged inCSS-Forum
Forum CSS-Online Help Search Login
CSS-Shop Impressum Datenschutz
Up Topic Hauptforen / CSS-Forum / einfache Umsetzung (für die verschiedenen Plattformen)?
- - By Hans Engel Date 2013-08-21 06:26
Hallo,
ich hätte eine Frage.
Critter, Stockfish und andere gibt es ja mittlerweile für Windows, Linux, Android.
Müssen das die Programmierer immer wieder für die verschiedenen Plattformen neu schreiben? Ich denke, daß sicher nicht.
Critter und Stockfish sind ja in C++ geschrieben. Wenn ich das richtig verstanden habe, wird bei Android in Java geschrieben.
Oder gibt es ein Programm, das C++-Text automatisch für die jeweiligen Plattformen übersetzt?

Danke für Antwort.
Parent - - By Stefan Schiffermüller Date 2013-08-21 07:29
[quote="Hans Engel"]Oder gibt es ein Programm, das C++-Text automatisch für die jeweiligen Plattformen übersetzt?[/quote]
So ist es. Dieses Programm heißt Compiler.

Stefan
Parent - By Sönke März Date 2013-08-21 08:27
[quote="Stefan Schiffermüller"]
[quote="Hans Engel"]Oder gibt es ein Programm, das C++-Text automatisch für die jeweiligen Plattformen übersetzt?[/quote]
So ist es. Dieses Programm heißt Compiler.

Stefan
[/quote]

Genau,- deswegen wunder es mich auch, warum es bis heute keinen Houdini auf Android gibt. Selbst für angegraute PocketPCs, könnte man innerhalb von 5 Minuten Houdini lauffähig machen.
Parent - - By Klaus Meier Date 2013-09-05 11:14
[quote="Stefan Schiffermüller"]
[quote="Hans Engel"]Oder gibt es ein Programm, das C++-Text automatisch für die jeweiligen Plattformen übersetzt?[/quote]
So ist es. Dieses Programm heißt Compiler.

Stefan
[/quote]

Hallo Stefan,

Das probiere ich auch gern mal aus. Etwas an GullII zu basteln wär mal intressant.
welchen Compiler empfielst du zum compilieren von GullII oder Stockfish Quellcode ?
K.
Parent - - By Stefan Schiffermüller Date 2013-09-05 11:37
[quote="Klaus Meier"]
[quote="Stefan Schiffermüller"]
[quote="Hans Engel"]Oder gibt es ein Programm, das C++-Text automatisch für die jeweiligen Plattformen übersetzt?[/quote]
So ist es. Dieses Programm heißt Compiler.

Stefan
[/quote]

Hallo Stefan,

Das probiere ich auch gern mal aus. Etwas an GullII zu basteln wär mal intressant.
welchen Compiler empfielst du zum compilieren von GullII oder Stockfish Quellcode ?
K.
[/quote]
Hallo Klaus,

Ich habe gehört, dass der gcc recht schnell sein soll. Ich habe aber keine direkten Erfahrungen. Hier sind ein paar Artikel unter anderem zur Kompilierung von Stockfish:
http://support.stockfishchess.org/kb

Stefan
Parent - By Klaus Meier Date 2013-09-05 11:47
[quote="Stefan Schiffermüller"]

Hallo Klaus,

Ich habe gehört, dass der gcc recht schnell sein soll. Ich habe aber keine direkten Erfahrungen. Hier sind ein paar Artikel unter anderem zur Kompilierung von Stockfish:
http://support.stockfishchess.org/kb

Stefan
[/quote]

Ah Danke. Ist wohl angebracht mal mit Stockfish zu beginnen. Ich habe hier noch einen alten
Compiler : "Microsoft C++ 2005 Express Edition" bei mir gefunden.
Hab mir den grad mal installiert. Also 32bit Konsole-Programme sollten doch damit compilierbar sein in eine ausführbare EXE  ?
Ich lad mir mal einen Quellcode von Stockfish und probiere das mal aus.
Falls nichts klappt, dann frag ich nochmal an.
Danke !
K.
Parent - By Klaus Meier Date 2013-09-05 11:57
Hab mal versucht nachder Anleitung vor zu gehen. Leider kommen lauter ERRORs :
mingw-get: *** ERROR *** http://prdownloads.sourceforge.net/mingw/mingw-get-0.6.0-mingw32-beta-20130904-1-bin.tar.xz?download:cannot open URL
mingw-get: *** ERROR *** Get package: http://prdownloads.sourceforge.net/mingw/mingw-get-0.6.0-mingw32-beta-20130904-1-bin.tar.xz?download: download failed
mingw-get: *** ERROR *** http://prdownloads.sourceforge.net/mingw/mingw-get-0.6.0-mingw32-beta-20130904-1-gui.tar.xz?download:cannot open URL
mingw-get: *** ERROR *** Get package: http://prdownloads.sourceforge.net/mingw/mingw-get-0.6.0-mingw32-beta-20130904-1-gui.tar.xz?download: download failed
mingw-get: *** ERROR *** http://prdownloads.sourceforge.net/mingw/mingw-get-0.6.0-mingw32-beta-20130904-1-lic.tar.xz?download:cannot open URL
mingw-get: *** ERROR *** Get package: http://prdownloads.sourceforge.net/mingw/mingw-get-0.6.0-mingw32-beta-20130904-1-lic.tar.xz?download: download failed
Parent - - By Benno Hartwig Date 2013-09-05 11:45 Edited 2013-09-05 11:48
[quote="Klaus Meier"]welchen Compiler empfielst du zum compilieren von GullII oder Stockfish Quellcode ?[/quote]Falls dein Ziel Windows ist: SF-Kompilate lassen sich absolut problemlos mit MS-VisualStudio erzeugen. Auch schon mit der gratis-Express-Version. Und das Kompilat ist auch schon ganz schön fix.
Mir war es seinerzeit nicht gelungen, mit GNU ein ähnlich schnelles Kompilat zu erhalten.
Entspricht das auch euren Erfahrungen, oder liegt das ggf. doch nur an meiner Ungeschicklichkeit mit GNU?

Benno
Parent - - By Klaus Meier Date 2013-09-05 11:48
Wo gibt es denn die Gratis Version dieses Compilers ?
Zum Einstieg würd das sicher mal ausreichen.
Danke.
K.
Parent - - By Benno Hartwig Date 2013-09-05 12:05
[quote="Klaus Meier"]Wo gibt es denn die Gratis Version dieses Compilers ?
Zum Einstieg würd das sicher mal ausreichen.[/quote]http://www.microsoft.com/visualstudio/deu/products/visual-studio-express-products
und vermutlich interessiert dich hier
http://www.microsoft.com/visualstudio/deu/downloads#d-express-windows-desktop
C++, C# und VisualBasic-Anwendungen kannst du damit bauen.
Für zuhause hat mir der Funktionsumfang immer voll gereicht.
Und die Stockfish-Sourcen verarbeitet der ohne Mucken. (Erfahrung nur mit 32bit. Bin ich eigentlich schon bei 2012 angekommen? Muss ich nachher mal gucken...)
Und mit ein paar 'Geschwindigkeit optimieren'-Settings sind die Kompilate kaum langsamer als die von Jim Abblet.

Benno
Parent - By Klaus Meier Date 2013-09-05 12:12
Hallo,
vielen Dank ich probiere das mal aus und rühr mich dann wieder.
K.
Parent - - By Klaus Meier Date 2013-09-05 12:26
Visual Studio Express 2012 für Windows Desktop
ist grad dabei auf meinem Rechner installiert zu werden.
Dauert recht lang, bis alles geladen ist.
Aber ist doch wohl richtig so und führt zum Ziel
um aus C++ Quellcode eine 32bit Konsole-Anwendung zu compilieren.
(nicht das ich Zeit und Recourcen verschwende ?)
K.
Parent - - By Benno Hartwig Date 2013-09-05 12:45 Edited 2013-09-05 12:50
Ja.
Aus der Erinnerung : (sitze gerade an einem anderen Rechenr)
Im Studio
"Neues Projekt" -> "aus vorhandenem Code"
dann Verzeichnis angeben, wo man die Sourcen-Dateien abgekippt hat
Kommandozeiltenanwendung auswählen
und Namen 'klausfish' angeben
und 'weiter'
SF lässt sich so ohne jede Nachbesserung in den Sourcen in das System bringen.
Ob das für andere Engines auch gilt, weiß ich nicht.

Das ist es im Grunde schon, und du kannst editieren und kompilieren.
Und das Kompilat kannst du direkt als UCI-Engine z.B. in Arena einbinden
(und solange Arena läuft und die Engine geladen hast, kann sie Studio nicht ersetzen!)

Damit die EXE portabel ist auf jeden Rechner, sind ggf. noch ein paar Settings zu machen (müsste ich nachgucken). Ansonsten würde sie ggf. bereits vorhandene DLLs erwarten, aus denen sie sich bedienen will.
Und es empfehlen sich ein paar 'auf Geschwindigkeit optimieren'-Schalter.
Aber dann hast du eine sehr funktionale Umgebung, die dir schnelle Kompilate erzeugt.

Wäre übrigens interessant zu erfahren, ob jemand einen Compiler für noch schnellere Kompilate vorschlagen kann.

Benno
Parent - - By Klaus Meier Date 2013-09-05 13:02
Hi Danke,
dann ist sicher bald ein klausfish  zu erwarten
Der alle bisher dagewesene Engines als die reinsten Patzer deklassieren wird  


klausfish alias "pussicat" strong chessplayer ...
Parent - By Chess Player Date 2013-09-05 13:06
Im Aufgeben schon ganz gut!

Die Suchfunktion hier im Forum ergibt zum Teil brauchbare Infos.

http://forum.computerschach.de/cgi-bin/mwf/topic_show.pl?pid=15504#pid15504
Parent - - By Klaus Meier Date 2013-09-05 14:20
Meine Güte ist das kompliziert,
den Punkt zum anklicken  -->"Aus vorhandenem Code" kann ich nirgendwo finden.
Will mir immer ein neues Projekt mit der Bezeichnung "ConsoleAppliction1" erstellen.
Parent - - By Klaus Meier Date 2013-09-05 14:33
Ich gebe es auf !
Parent - - By Benno Hartwig Date 2013-09-05 18:35
Sorry, so aus der Erinnerung ist die Beschreibung auch nicht wirklich genau gewesen.
Aber jetzt sitze ich vor meiner Umgebung: Visual C++ Express 2010 (und hastig auf 2012 will ich nun doch nicht gehen)
Und ein 'Klausfish' lässt sich da folgendermaßen aufziehen:

Code:
Datei -> neu --> Projekt aus vorhandenem Code...

Es geht ein Dialog auf 'Neues Projekt aus vorhandenem Code erstellen'
Als Typ 'Visual c++' auswählen
'Weiter'

Unter Projektdatenverzeichnis das Verzeichnis angeben, wo die Sourcen liegen
'klausfish' als Projektnamen eingeben
'weiter'

Als Projekttyp auswählen: Konsolenanwendungsprojekt
weiter

weiter

fertigstellen


Das Projekt wird dann fertiggestellt
Rechts hast du den Projektmappenexplorer, wo du die zu editierenden Dateien aussuchen kannst
oben Release (nicht Debug) auswählen
und mit Rechtklick auf das klausfish im Projektmappenexplorer kannst du dann 'erstellen' auswählen.
und unter deinem Projektverzeichnis wird ein Verzeichnis 'Release' erstellt, wo dann dein klausfish.exe erzeugt wird.

Probiers noch mal.
die 2012-Version mag irgendwo etwas anders aussehen, aber so ungefähr wird der Weg wohl noch der gleiche sein.

Benno
Parent - By Klaus Meier Date 2013-09-05 19:52
Ist schon ein Unterschied zwischen
Microsoft Visual C++ 2010
oder
Microsoft Visual C++ 2012

Nach deiner Beschreibung bin ich jetzt immerhin mal ein Stück weiter gekommen.
Nachdem ichmirden Microsoft Visual C++ 2010 vonCip Online geladen und installiert habe...
Eine Möglichkeit zum Compilieren hab ich direkt nirgendwo gefunden jedoch
Debugging starten erzeugt wohl auch eine exe datei.
zunächst kommt mal ein Hinweis "Projekt veraltet trotzdem weiter machen ?"
Ich habe mal auf ja angeklickt.
Dann startet da ganze Prozedere und leider kommt am Ende dann ein
fatal error LNK1123

Also auch wieder Pustekuchen. Das kommt davon wenn man
noch FORTRAN an der Uni gelernt hat und sich selber mit TURBO-C gradebennoch mal behelfen konnte.
So ein Crashkurs über objektorientierte Programmiersprachen C++ hat es leider dann auch nicht mehr gebracht.
HiermaldasvorläufigeENDEmeinergescheitertenVersuche einen StockfishQuellcode selber zu compilieren
----> 

>------ Erstellen gestartet: Projekt: klausfis, Konfiguration: Debug Win32 ------

1>  ucioption.cpp
1>  uci.cpp
1>  tt.cpp
1>  timeman.cpp
1>  thread.cpp
1>  search.cpp
1>  position.cpp
1>  pawns.cpp
1>  notation.cpp
1>  movepick.cpp
1>  movegen.cpp
1>  misc.cpp
1>  material.cpp
1>  main.cpp
1>  evaluate.cpp
1>  endgame.cpp
1>  book.cpp
1>  bitboard.cpp
1>  bitbase.cpp
1>  benchmark.cpp
1>  Code wird generiert...
1>     Bibliothek "C:\stockfi4\stockfish-4-win\src\Debug\klausfis.lib" und Objekt "C:\stockfi4\stockfish-4-win\src\Debug\klausfis.exp" werden erstellt.
1>LINK : fatal error LNK1123: Fehler bei der Konvertierung in COFF: Datei ist ungültig oder beschädigt.
========== Erstellen: 0 erfolgreich, Fehler bei 1, 0 aktuell, 0 übersprungen ==========

also sieht so aus ,als sei das fast fertig geworden leider dann kurz vor dem Erfolgserlebnis ein FatalError
Fürheute reicht es mir damit 
Klaus
Up Topic Hauptforen / CSS-Forum / einfache Umsetzung (für die verschiedenen Plattformen)?

Powered by mwForum 2.29.3 © 1999-2014 Markus Wichitill