Emulationstation Frontend für Windows



  • würde gerne das EmulationStation Frontend für Windows Compilieren. Der surce Code ist unter der vollenden Link zu finden.

    https://github.com/Aloshi/EmulationStation
    

    Als Betriebsystem benutze ich Windows 7 64Bit und als IDE eclipse.

    welche programme brach ich zum Compilieren?
    Gibt es irgendwo eine Anleitung wie man das macht ?



  • Lad dir das Projekt runter, z.B. als zip und entpack sie. In der ReadMe stehen dann die nötigen Links für die Abhängigkeiten.

    Zuerst musst du CMake installieren. Diese dann entweder in PATH eintragen lassen oder dich später um die etsprechenden Pfade kümmern. Falls du CMake nicht permanent in PATH haben willst kannst du es ja per Batch temporär einfügen.

    In dem Ordner wo auch die "CMakeLists.txt" ist machst du einen Unterordner namens "build". In diesem eine Batchdatei namens "build.bat" mit folgendem Inhalt:

    @echo off
    set BOOST_LIBRARYDIR=.\extern\boost\
    cmake -D CMAKE_PREFIX_PATH=.\extern ..
    pause
    
    • In dem selben Ordner machst du dann einen Unterordner namens "extern". Dort kommen die ganzen externen Libs rein.
    • Lade die FreeImage ".h", ".lib" ".dll" runter und pack sie in "extern".
    • Das selbe mit den SDL Header/Libs, so dass z.B. SDL.h direkt in "extern" liegt, nicht in einem Unterordner.
    • Dann lädst du die Boost Header runter, und packst sie in einen Unterordner names "boost" in "extern". Du brauchst alle Header und die Module system und filesystem.
      Dann kompilierst oder suchst dir die Binaries von Boost. Die Version muss natürlich passen. Die lib für z.B. "boost_filesystem-vc100-mt-1_51" nennst du "boost_filesystem.lib", die für "boost_system-vc100-mt-1_51" "boost_system.lib". Die kommen auch in "extern". Die ensprechenden DLLs kopierst du auch mit, aber ohne umbenennen. Dann kopierst noch die Dateien mit "libboost_system-vc100****.lib" und "libboost_filesystem-vc100****.lib" in "extern".
    • Als nächstes lädst du Eigen runter. Dann hast du einen Ordner namens z.B. "eigen-eigen-ffa86ffb5570". Nenn ihn in "Eigen" um und kopier ihn in "extern".
    • Dann lädst du die FreeType Header und lib runter und packst sie wieder in "extern".
    • Dann lässt die die "build.bat" die du vorhin erstellst hast durchlaufen. Dann sollen in dem build Ordner neue Dateien sein. Du öffnest das Projekt "emulationstation".
    • Dann fügst du "extern" zum Include-Path dazu, für VC "(ProjectDir)\\extern;(IncludePath)"
    • Dann kannst du kompilieren. Zum starten musst du noch die DLLs aus dem extern Ordner in den der Exe kopieren.

    Ist zwar jetzt nicht für Eclipse, hoffe es hiflt dir trotzdem weiter. War schwer genug das überhaupt zum laufen zu bekommen 😃



  • Danke erst für die schnele antwort. 🙂

    Ich bin nach der Anleitung vorgegangen aber es kommt immer wieder eine fehlermeldung nach den ich build.bat ausgeführt hab. 😞

    CMakeError.log

    Compiling the C compiler identification source file "CMakeCCompilerId.c" failed.
    Compiler: cl
    Build flags:
    Id flags:

    The output was:
    Das System kann die angegebene Datei nicht finden

    Compiling the C compiler identification source file "CMakeCCompilerId.c" failed.
    Compiler: cl
    Build flags:
    Id flags: -c

    The output was:
    Das System kann die angegebene Datei nicht finden

    Compiling the C compiler identification source file "CMakeCCompilerId.c" failed.
    Compiler: cl
    Build flags:
    Id flags: -Aa

    The output was:
    Das System kann die angegebene Datei nicht finden

    Checking whether the C compiler is IAR using "" did not match "IAR .+ Compiler":
    Compiling the CXX compiler identification source file "CMakeCXXCompilerId.cpp" failed.
    Compiler: cl
    Build flags:
    Id flags:

    The output was:
    Das System kann die angegebene Datei nicht finden

    Compiling the CXX compiler identification source file "CMakeCXXCompilerId.cpp" failed.
    Compiler: cl
    Build flags:
    Id flags: -c

    The output was:
    Das System kann die angegebene Datei nicht finden

    Checking whether the CXX compiler is IAR using "" did not match "IAR .+ Compiler":
    Determining if the C compiler works failed with the following output:

    Compiling the C compiler identification source file "CMakeCCompilerId.c" failed.
    Compiler: cl
    Build flags:
    Id flags:

    The output was:
    Das System kann die angegebene Datei nicht finden

    Compiling the C compiler identification source file "CMakeCCompilerId.c" failed.
    Compiler: cl
    Build flags:
    Id flags: -c

    The output was:
    Das System kann die angegebene Datei nicht finden

    Compiling the C compiler identification source file "CMakeCCompilerId.c" failed.
    Compiler: cl
    Build flags:
    Id flags: -Aa

    The output was:
    Das System kann die angegebene Datei nicht finden

    Checking whether the C compiler is IAR using "" did not match "IAR .+ Compiler":
    Compiling the CXX compiler identification source file "CMakeCXXCompilerId.cpp" failed.
    Compiler: cl
    Build flags:
    Id flags:

    The output was:
    Das System kann die angegebene Datei nicht finden

    Compiling the CXX compiler identification source file "CMakeCXXCompilerId.cpp" failed.
    Compiler: cl
    Build flags:
    Id flags: -c

    The output was:
    Das System kann die angegebene Datei nicht finden

    Checking whether the CXX compiler is IAR using "" did not match "IAR .+ Compiler":
    Determining if the C compiler works failed with the following output:

    Compiling the C compiler identification source file "CMakeCCompilerId.c" failed.
    Compiler: cl
    Build flags:
    Id flags: -c

    The output was:
    Das System kann die angegebene Datei nicht finden

    Compiling the C compiler identification source file "CMakeCCompilerId.c" failed.
    Compiler: cl
    Build flags:
    Id flags: -Aa

    The output was:
    Das System kann die angegebene Datei nicht finden

    Checking whether the C compiler is IAR using "" did not match "IAR .+ Compiler":
    Compiling the CXX compiler identification source file "CMakeCXXCompilerId.cpp" failed.
    Compiler: cl
    Build flags:
    Id flags: -c

    The output was:
    Das System kann die angegebene Datei nicht finden

    Checking whether the CXX compiler is IAR using "" did not match "IAR .+ Compiler":
    Determining if the C compiler works failed with the following output:

    Compiling the C compiler identification source file "CMakeCCompilerId.c" failed.
    Compiler: cl
    Build flags:
    Id flags:

    The output was:
    Das System kann die angegebene Datei nicht finden

    Compiling the C compiler identification source file "CMakeCCompilerId.c" failed.
    Compiler: cl
    Build flags:
    Id flags: -c

    The output was:
    Das System kann die angegebene Datei nicht finden

    Compiling the C compiler identification source file "CMakeCCompilerId.c" failed.
    Compiler: cl
    Build flags:
    Id flags: -Aa

    The output was:
    Das System kann die angegebene Datei nicht finden

    Checking whether the C compiler is IAR using "" did not match "IAR .+ Compiler":
    Compiling the CXX compiler identification source file "CMakeCXXCompilerId.cpp" failed.
    Compiler: cl
    Build flags:
    Id flags:

    The output was:
    Das System kann die angegebene Datei nicht finden

    Compiling the CXX compiler identification source file "CMakeCXXCompilerId.cpp" failed.
    Compiler: cl
    Build flags:
    Id flags: -c

    The output was:
    Das System kann die angegebene Datei nicht finden

    Checking whether the CXX compiler is IAR using "" did not match "IAR .+ Compiler":
    Determining if the C compiler works failed with the following output:

    Compiling the C compiler identification source file "CMakeCCompilerId.c" failed.
    Compiler: cl
    Build flags:
    Id flags:

    The output was:
    Das System kann die angegebene Datei nicht finden

    Compiling the C compiler identification source file "CMakeCCompilerId.c" failed.
    Compiler: cl
    Build flags:
    Id flags: -c

    The output was:
    Das System kann die angegebene Datei nicht finden

    Compiling the C compiler identification source file "CMakeCCompilerId.c" failed.
    Compiler: cl
    Build flags:
    Id flags: -Aa

    The output was:
    Das System kann die angegebene Datei nicht finden

    Checking whether the C compiler is IAR using "" did not match "IAR .+ Compiler":
    Compiling the CXX compiler identification source file "CMakeCXXCompilerId.cpp" failed.
    Compiler: cl
    Build flags:
    Id flags:

    The output was:
    Das System kann die angegebene Datei nicht finden

    Compiling the CXX compiler identification source file "CMakeCXXCompilerId.cpp" failed.
    Compiler: cl
    Build flags:
    Id flags: -c

    The output was:
    Das System kann die angegebene Datei nicht finden

    Checking whether the CXX compiler is IAR using "" did not match "IAR .+ Compiler":
    Determining if the C compiler works failed with the following output:

    Compiling the C compiler identification source file "CMakeCCompilerId.c" failed.
    Compiler: cl
    Build flags:
    Id flags:

    The output was:
    Das System kann die angegebene Datei nicht finden

    Compiling the C compiler identification source file "CMakeCCompilerId.c" failed.
    Compiler: cl
    Build flags:
    Id flags: -c

    The output was:
    Das System kann die angegebene Datei nicht finden

    Compiling the C compiler identification source file "CMakeCCompilerId.c" failed.
    Compiler: cl
    Build flags:
    Id flags: -Aa

    The output was:
    Das System kann die angegebene Datei nicht finden

    Checking whether the C compiler is IAR using "" did not match "IAR .+ Compiler":
    Compiling the CXX compiler identification source file "CMakeCXXCompilerId.cpp" failed.
    Compiler: cl
    Build flags:
    Id flags:

    The output was:
    Das System kann die angegebene Datei nicht finden

    Compiling the CXX compiler identification source file "CMakeCXXCompilerId.cpp" failed.
    Compiler: cl
    Build flags:
    Id flags: -c

    The output was:
    Das System kann die angegebene Datei nicht finden

    Checking whether the CXX compiler is IAR using "" did not match "IAR .+ Compiler":
    Determining if the C compiler works failed with the following output:

    Compiling the C compiler identification source file "CMakeCCompilerId.c" failed.
    Compiler: cl
    Build flags:
    Id flags:

    The output was:
    Das System kann die angegebene Datei nicht finden

    Compiling the C compiler identification source file "CMakeCCompilerId.c" failed.
    Compiler: cl
    Build flags:
    Id flags: -c

    The output was:
    Das System kann die angegebene Datei nicht finden

    Compiling the C compiler identification source file "CMakeCCompilerId.c" failed.
    Compiler: cl
    Build flags:
    Id flags: -Aa

    The output was:
    Das System kann die angegebene Datei nicht finden

    Checking whether the C compiler is IAR using "" did not match "IAR .+ Compiler":
    Compiling the CXX compiler identification source file "CMakeCXXCompilerId.cpp" failed.
    Compiler: cl
    Build flags:
    Id flags:

    The output was:
    Das System kann die angegebene Datei nicht finden

    Compiling the CXX compiler identification source file "CMakeCXXCompilerId.cpp" failed.
    Compiler: cl
    Build flags:
    Id flags: -c

    The output was:
    Das System kann die angegebene Datei nicht finden

    Checking whether the CXX compiler is IAR using "" did not match "IAR .+ Compiler":
    Determining if the C compiler works failed with the following output:

    Was hebe ich da Falsch gemacht?



  • Hast du den Installer (x86) für CMake verwendet und den Pfad in PATH eintragen lassen ? Das ist standardmäßig nicht ausgewählt.

    Hast du Visual Studio oder MinGW installiert ?

    Ansonsten zeig mal den Inhalt deines CMakeOutput Logs und was die Batchdatei ausgibt, möglichst beides.



  • Immer noch der gleiche Fehlermeldung.

    CMakeOutput.log
    [list]The system is: Windows - 6.1 - AMD64

    Die Batchdatei gibt aus.
    CMake Warning at CMakeLists.txt:3 (project):
    To use the NMake generator, cmake must be run from a shell that can use the
    compiler cl from the command line. This environment does not contain
    INCLUDE, LIB, or LIBPATH, and these must be set for the cl compiler to
    work.

    -- The C compiler identification is unknown
    -- The CXX compiler identification is unknown
    -- Check for working C compiler: cl
    CMake Warning at CMakeLists.txt:2 (PROJECT):
    To use the NMake generator, cmake must be run from a shell that can use the
    compiler cl from the command line. This environment does not contain
    INCLUDE, LIB, or LIBPATH, and these must be set for the cl compiler to
    work.

    CMake Error: your C compiler: "cl" was not found. Please set CMAKE_C_COMPILER
    to a valid compiler path or name.
    CMake Error: Internal CMake error, TryCompile configure of cmake failed
    -- Check for working C compiler: cl -- broken
    CMake Error at C:/Program Files (x86)/CMake 2.8/share/cmake-2.8/Modules/CMakeTes
    tCCompiler.cmake:61 (message):
    The C compiler "cl" is not able to compile a simple test program.

    It fails with the following output:

    CMake will not be able to correctly generate this project.
    Call Stack (most recent call first):
    CMakeLists.txt:3 (project)

    CMake Error: your C compiler: "cl" was not found. Please set CMAKE_C_COMPILER
    to a valid compiler path or name.
    CMake Error: your CXX compiler: "cl" was not found. Please set CMAKE_CXX_COMPI
    LER to a valid compiler path or name.
    -- Configuring incomplete, errors occurred!
    See also "F:/EmulationStation-master/build/CMakeFiles/CMakeOutput.log".
    See also "F:/EmulationStation-master/build/CMakeFiles/CMakeError.log".
    Drücken Sie eine beliebige Taste . . .



  • Nachdem du nicht auf meine anderen Fragen eingegangen bist gehe ich einfach mal davon aus dass du VS nicht installiert hast.

    Lösch mal alle Dateien in deinem "build" Ordner und erstelle eine build.bat mit diesem Inhalt:

    @echo off
    set BOOST_LIBRARYDIR=.\extern\boost\
    cmake -G "MinGW Makefiles" -D CMAKE_PREFIX_PATH=.\extern ..
    pause
    

    Das sollte jetzt versuchen deine MinGW Installation zu verwenden, setzt natürlich voraus dass diese vorhanden ist.
    Falls das nicht klappt, bitte wieder die Ausgabe der Batch posten.



  • MinGW ist Installiert.

    build.bat erstelt und ausgefürt.

    Eine fehlermeldung.
    Das programm kann nicht gestartet werden (cc1.exe),da libgmp-10.dll auf dem Computer fehlt.

    Batch Ausgabe
    -- The C compiler identification is unknown
    -- The CXX compiler identification is unknown
    -- Check for working C compiler: c:/MinGW/bin/gcc.exe
    -- Check for working C compiler: c:/MinGW/bin/gcc.exe -- broken
    CMake Error at C:/Program Files (x86)/CMake 2.8/share/cmake-2.8/Modules/CMakeTes
    tCCompiler.cmake:61 (message):
    The C compiler "c:/MinGW/bin/gcc.exe" is not able to compile a simple test
    program.

    It fails with the following output:

    Change Dir: F:/EmulationStation-master/build/CMakeFiles/CMakeTmp

    Run Build Command:c:/MinGW/bin/mingw32-make.exe
    "cmTryCompileExec1061406176/fast"

    c:/MinGW/bin/mingw32-make.exe -f
    CMakeFiles\cmTryCompileExec1061406176.dir\build.make
    CMakeFiles/cmTryCompileExec1061406176.dir/build

    mingw32-make.exe[1]: Entering directory
    'F:/EmulationStation-master/build/CMakeFiles/CMakeTmp'

    "C:\Program Files (x86)\CMake 2.8\bin\cmake.exe" -E cmake_progress_report
    F:\EmulationStation-master\build\CMakeFiles\CMakeTmp\CMakeFiles 1

    Building C object
    CMakeFiles/cmTryCompileExec1061406176.dir/testCCompiler.c.obj

    c:\MinGW\bin\gcc.exe -o
    CMakeFiles\cmTryCompileExec1061406176.dir\testCCompiler.c.obj -c
    F:\EmulationStation-master\build\CMakeFiles\CMakeTmp\testCCompiler.c

    CMakeFiles\cmTryCompileExec1061406176.dir\build.make:59: recipe for target
    'CMakeFiles/cmTryCompileExec1061406176.dir/testCCompiler.c.obj' failed

    mingw32-make.exe[1]: ***
    [CMakeFiles/cmTryCompileExec1061406176.dir/testCCompiler.c.obj] Error 1

    mingw32-make.exe[1]: Leaving directory
    'F:/EmulationStation-master/build/CMakeFiles/CMakeTmp'

    Makefile:116: recipe for target 'cmTryCompileExec1061406176/fast' failed

    mingw32-make.exe: *** [cmTryCompileExec1061406176/fast] Error 2

    CMake will not be able to correctly generate this project.
    Call Stack (most recent call first):
    CMakeLists.txt:3 (project)

    CMake Error: your CXX compiler: "g++.exe" was not found. Please set CMAKE_CXX_
    COMPILER to a valid compiler path or name.
    -- Configuring incomplete, errors occurred!
    See also "F:/EmulationStation-master/build/CMakeFiles/CMakeOutput.log".
    See also "F:/EmulationStation-master/build/CMakeFiles/CMakeError.log".
    Drücken Sie eine beliebige Taste . . .

    Gibt es eine fertige Binary?
    Hab langsam keine lust auf fehlermeldungen. 😞



  • Hm irgendwie scheint deine MinGW Installation beschädigt zu sein. Oder irgendwas stimmt mit deinen Umgebungsvariablen nicht.. Schon mal probiert MinGW komplett neu zu installieren ?
    Und schau mal dass in deinem PATH keine Pfade von anderen Toolchains drin sind.

    Binaries gibts so weit ich weiß nicht, und leider kenne ich mich mit CMake auch nicht soo gut aus 😕



  • Cmake 2.8.12 ist installiert unter (C:\Program Files (x86)\CMake 2.8).

    Von der seite habe ich MinGW Heruntergeladen und Installiert.
    http://sourceforge.net/projects/mingw/files/

    Systemvariable geendert
    C:\Program Files (x86)\CMake 2.8\bin;C:\Program Files (x86)\CMake 2.8\share\cmake-2.8\Modules;C:\MinGW\bin

    beim ausführen der build.bat kommt immer noch die Fehlermeldung.

    Looking for bcm_host.h
    bcm_host.h not found
    -- Looking for FREETYPE...
    -- Could NOT find PkgConfig (missing: PKG_CONFIG_EXECUTABLE)
    -- CMAKE_PREFIX_PATH: .\extern
    -- CMAKE_PREFIX_PATH: .\extern
    -- Could not locate FREETYPE
    -- Looking for FreeImage...
    -- Could NOT find PkgConfig (missing: PKG_CONFIG_EXECUTABLE)
    -- Could not locate FreeImage
    CMake Error at CMake/Utils/FindPkgMacros.cmake:121 (message):
    Required library FreeImage not found! Install the library (including dev
    packages) and try again. If the library is already installed, set the
    missing variables manually in cmake.
    Call Stack (most recent call first):
    CMake/Packages/FindFreeImage.cmake:49 (findpkg_finish)
    CMakeLists.txt:36 (find_package)

    -- Configuring incomplete, errors occurred!
    See also "F:/EmulationStation-master/build/CMakeFiles/CMakeOutput.log".
    See also "F:/EmulationStation-master/build/CMakeFiles/CMakeError.log".
    Drücken Sie eine beliebige Taste . . .

    welche boost version soll drau sein, da ich MinGW installiert hab?
    Wie kann ich die weiteren Fehler beseitigen?



  • Die Ordner "build" und "extern" sind beide Unterordner von "EmulationStation-master" ? Die müssen beide in dem Verzeichnis leigen in dem auch "CMakeLists.txt" liegt. Und extern so gefüllt wie ich es beschrieben habe ?

    Die Boost Version die du runterlädst ist glaub ich egal, nimm einfach mal 1.51.



  • Kanst du mir die Webseite nennen von der ich SDL runterladen kann und welche Version?

    Dann lädst du die Boost Header runter, und packst sie in einen Unterordner names "boost" in "extern". Du brauchst alle Header und die Module system und filesystem.

    Von welche Webseite soll ich es runterladen, es gibt leider zu große auswahl?



  • Kanst du mir die Webseite nennen von der ich SDL runterladen kann und welche Version?

    http://www.libsdl.org/
    Ich glaub ich hatte die alte 1.2 genommen.

    Von welche Webseite soll ich es runterladen, es gibt leider zu große auswahl?

    http://www.boost.org/
    Und Google suche nach "boost prebuild" liefert dir ganz oben die Binaries..



  • Von SDL 1.2 gibts unterschidliche Versionen !

    Source Code:
    SDL-1.2.15.zip - GPG signed

    Runtime Libraries:
    Win32:
    SDL-1.2.15-win32.zip
    SDL-1.2.15-win32-x64.zip (64-bit Windows)

    Development Libraries:
    Win32:
    SDL-devel-1.2.15-VC.zip (Visual C++)
    SDL-devel-1.2.15-mingw32.tar.gz (Mingw32)

    welche da von soll ich nehmen und wo Kopiere ich welche dateien?

    http://www.boost.org/
    Und Google suche nach "boost prebuild" liefert dir ganz oben die Binaries..

    Habe auf der Webseite Binaries.. gefunden.

    http://boost.teeks99.com/
    Weiche muß ich Runterladen 32 oder 64Bit, welche version und soll ich sie Installieren oder in ein Verzeichnis Kopieren?


Anmelden zum Antworten