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 83.4k 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 it's not working the no splash screen command in the last build?

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

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

        it's not working the no splash screen command in the last build

        Which fork of ES are you building? I've separated all the 'enhancements' out into separate commits and at the moment there isn't a branch that pulls in the latest of everything. I can put one together for you shortly if you want.

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

          @fieldofcows can you do it for me? I'm using your fork I downloaded today.

          Where I can find the commits you did?

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

            @Nismo I tidied up my fork a while ago. The 'master' now tracks the retropie master. This branch is the previous one I built you and contains all modifications except the opacity bug fix. Will that one do for now?

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

              @fieldofcows Yes!! thank you vey much!!! Nice christmas present.

              I'm translating to my native language.

              1 Reply Last reply Reply Quote 0
              • 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
                                            • 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.