RetroPie forum home
    • Recent
    • Tags
    • Popular
    • Home
    • Docs
    • Register
    • Login

    Step-by-step: How to build EmulationStation on Windows

    Scheduled Pinned Locked Moved Ideas and Development
    emulationstatiobuildingwindows
    108 Posts 22 Posters 87.3k Views
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • N
      Nismo
      last edited by

      @fieldofcows do I need to make this commits to that fork?

      https://github.com/fieldofcows/EmulationStation/commit/59fe6a36cbafc0a94a5db8e877ad3f497c76efd5

      fieldofcowsF 1 Reply Last reply Reply Quote 0
      • fieldofcowsF
        fieldofcows @Nismo
        last edited by

        @Nismo No. That one should build fine on Windows.

        N 1 Reply Last reply Reply Quote 0
        • N
          Nismo @fieldofcows
          last edited by

          @fieldofcows Thanks again.

          1 Reply Last reply Reply Quote 0
          • trigger_deathT
            trigger_death
            last edited by trigger_death

            @fieldofcows I'm having the same issues someone else is having with the following:

            5>c:\src\emulationstation\es-gamedata\src\GameDataList.h(11): fatal error C1083: Cannot open include file: 'sqlite3.h': No such file or directory (compiling source file C:\src\EmulationStation\es-gamedata\src\GameData.cpp)
            5>c:\src\emulationstation\es-gamedata\src\GameDataList.h(11): fatal error C1083: Cannot open include file: 'sqlite3.h': No such file or directory (compiling source file C:\src\EmulationStation\es-gamedata\src\GameDataList.cpp)
            5>c:\src\emulationstation\es-gamedata\src\GameDataList.h(11): fatal error C1083: Cannot open include file: 'sqlite3.h': No such file or directory (compiling source file C:\src\EmulationStation\es-gamedata\src\GameDataFolder.cpp)
            5>c:\src\emulationstation\es-gamedata\src\GameDataTags.h(11): fatal error C1083: Cannot open include file: 'sqlite3.h': No such file or directory (compiling source file C:\src\EmulationStation\es-gamedata\src\GameDataItem.cpp)
            5>c:\src\emulationstation\es-gamedata\src\GameDataList.h(11): fatal error C1083: Cannot open include file: 'sqlite3.h': No such file or directory (compiling source file C:\src\EmulationStation\es-gamedata\src\GameDataTags.cpp)
             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
            4>C:\src\EmulationStation\es-core\src\platform.cpp(87): error C3861: 'open': identifier not found
            4>C:\src\EmulationStation\es-core\src\platform.cpp(89): error C3861: 'close': identifier not found
            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
            4>C:\src\EmulationStation\es-core\src\Util.cpp(105): error C2440: 'initializing': cannot convert from 'const boost::filesystem::path::value_type *' to 'std::basic_string<char,std::char_traits<char>,std::allocator<char>>'
            4>  C:\src\EmulationStation\es-core\src\Util.cpp(105): note: No constructor could take the source type, or constructor overload resolution was ambiguous
            4>C:\src\EmulationStation\es-core\src\Util.cpp(106): error C2440: 'initializing': cannot convert from 'const boost::filesystem::path::value_type *' to 'std::basic_string<char,std::char_traits<char>,std::allocator<char>>'
            4>  C:\src\EmulationStation\es-core\src\Util.cpp(106): note: No constructor could take the source type, or constructor overload resolution was ambiguous
            

            Now the open()/close() issue you state would be fixed in your fork but I'm using your fork. Not sure about the sqlite and initializing issues.

            I'm not sure if this is related, but when building a few of the libraries, VS stated a few projects were skipped.

            fieldofcowsF 1 Reply Last reply Reply Quote 0
            • fieldofcowsF
              fieldofcows @trigger_death
              last edited by

              @trigger_death My 'master' branch is not the one to use anymore. It should be tracking the RetroPie branch but I think I've committed some stuff there by mistake. I generally do not use that one anymore.

              I took a backup of the branch from the point where I was working on the video preview with Nismo and named it 'old_master'. You find it here: https://github.com/fieldofcows/EmulationStation/commits/old_master. This might be a good starting point if you want a Windows build. You can switch to it like this:

              git clone https://github.com/fieldofcows/EmulationStation.git EmulationStation
              cd EmulationStation
              git checkout old_master
              

              I've got a few features to sort out and try to get merged back to retropie. When this is done I'll create a Windows build branch and keep it up to date with my latest developments.

              trigger_deathT N 2 Replies Last reply Reply Quote 2
              • trigger_deathT
                trigger_death @fieldofcows
                last edited by

                @fieldofcows Thanks it works. :D

                But about the Windows branch, does that mean there's currently separate branches for building on Windows and Linux systems? Because I was hoping to use this to debug before spending multiple hours building on my Pi.

                fieldofcowsF 1 Reply Last reply Reply Quote 0
                • N
                  Nismo @fieldofcows
                  last edited by Nismo

                  @fieldofcows I'm very happy to know that we can have an up to date windows branch.

                  Thank you very much.

                  @trigger_death If the branchs are up to date I don't think you could have any problem.

                  1 Reply Last reply Reply Quote 0
                  • fieldofcowsF
                    fieldofcows @trigger_death
                    last edited by

                    @trigger_death said in Step-by-step: How to build EmulationStation on Windows:

                    But about the Windows branch, does that mean there's currently separate branches for building on Windows and Linux systems?

                    That particular branch builds on Windows, Linux and Raspberry pi without problems.

                    There is a simple fix that needs to be applied to the retropie ES which would allow it to build on Windows. I'll see if I can suggest a PR to get it included in the retropie fork. Although this is a RPi version, I don't see any harm in including this fix.

                    1 Reply Last reply Reply Quote 1
                    • trigger_deathT
                      trigger_death
                      last edited by trigger_death

                      @fieldofcows I hope this isn't going too off topic but: Although you say it's well documented, I actually find this guide for Windows to be much more understandable than any of the other guides for Linux or the Raspberry Pi. However, I can't seem to find any guides on how to build & install EmulationStation on RetroPie. Do you have insight into that? It's not mentioned anywhere to where the output should be as well as how to setup the libraries.

                      Edit: Nevermind, I've figured out how to do it and layed it out here.

                      1 Reply Last reply Reply Quote 0
                      • Z
                        Zigurana
                        last edited by

                        This PR, which was merged in recently, broke my builds of ES under windows.
                        Basically, what happened is that PugiXML is now an git submodule, which is much easier to maintain. However, when you rebase your view, it is not automatically included.
                        You need to perform

                         git submodule update --init
                        

                        in order to make that happen.

                        Easy enough, but it took me a while to figure it out.

                        @BuZz: will we do the same for nanosvg?

                        If tetris has thought me anything, it's that errors pile up and that accomplishments dissappear.

                        BuZzB 1 Reply Last reply Reply Quote 0
                        • BuZzB
                          BuZz administrators @Zigurana
                          last edited by BuZz

                          @Zigurana sorry, should have mentioned that. I probably need to update the readme too.

                          If nanosvg is managed on git, we could.

                          To help us help you - please make sure you read the sticky topics before posting - https://retropie.org.uk/forum/topic/3/read-this-first

                          1 Reply Last reply Reply Quote 0
                          • A
                            AndroidKing
                            last edited by

                            I'm having trouble with the final Cmake step. It can't find the boost libraries. I've used the retroPie branch and the fix_debug_and_win_builds. I was using visual studio 2017 but when I switched to 2015 I still got the same error from boost.

                            CMake Error at C:/Program Files/CMake/share/cmake-3.8/Modules/FindBoost.cmake:1813 (message):
                              Unable to find the requested Boost libraries.
                            
                              Boost version: 1.61.0
                            
                              Boost include path: C:/src/lib/boost_1_61_0
                            
                              Could not find the following Boost libraries:
                            
                                      boost_system
                                      boost_date_time
                                      boost_locale
                            
                              No Boost libraries were found.  You may need to set BOOST_LIBRARYDIR to the
                              directory containing Boost libraries or BOOST_ROOT to the location of
                              Boost.
                            Call Stack (most recent call first):
                              CMakeLists.txt:49 (find_package)
                            
                            
                            -- Configuring incomplete, errors occurred!
                            

                            Thanks

                            N 1 Reply Last reply Reply Quote 0
                            • N
                              Nismo @AndroidKing
                              last edited by Nismo

                              @AndroidKing

                              Have you installed it manually? Use the boost installer.

                              https://sourceforge.net/projects/boost/files/boost-binaries/1.61.0/boost_1_61_0-msvc-14.0-32.exe/download

                              A 1 Reply Last reply Reply Quote 0
                              • A
                                AndroidKing @Nismo
                                last edited by

                                @Nismo I didn't install it manually. I used the installer you and the tutorial mentioned. I have a boost_1_61_0\lib32-msvc-14.0 directory with date_time, system and locale files in it.

                                N 1 Reply Last reply Reply Quote 0
                                • N
                                  Nismo @AndroidKing
                                  last edited by

                                  @AndroidKing

                                  Can you send to me a folder list inside C:/src/lib/boost_1_61_0????

                                  A 1 Reply Last reply Reply Quote 0
                                  • A
                                    AndroidKing @Nismo
                                    last edited by

                                    @Nismo Here you go. 0_1492921130596_boost_folder_list.PNG

                                    N 1 Reply Last reply Reply Quote 0
                                    • N
                                      Nismo @AndroidKing
                                      last edited by

                                      @AndroidKing

                                      Have you installed C-Make or it's a portable one?

                                      I'm uploading my working lib folder for you, but it will take a few minutes.

                                      A 1 Reply Last reply Reply Quote 0
                                      • A
                                        AndroidKing @Nismo
                                        last edited by

                                        @Nismo I installed Cmake. It's version 3.8. I appreciate it.

                                        N 2 Replies Last reply Reply Quote 0
                                        • N
                                          Nismo @AndroidKing
                                          last edited by

                                          @AndroidKing

                                          A few minutes remaining for upload complete, then you can rename your C:/src/lib folder to C:/src/lib_old and try with mine...

                                          1 Reply Last reply Reply Quote 0
                                          • N
                                            Nismo @AndroidKing
                                            last edited by

                                            @AndroidKing

                                            Here you have: http://www.mediafire.com/file/7nzb0820w24is4a/lib_folder_for_ES_build.7z

                                            A 1 Reply Last reply Reply Quote 0
                                            • First post
                                              Last post

                                            Contributions to the project are always appreciated, so if you would like to support us with a donation you can do so here.

                                            Hosting provided by Mythic-Beasts. See the Hosting Information page for more information.