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 @AndroidKing
      last edited by Nismo

      @AndroidKing

      Finally!!! I'm glad to help. Regards.

      1 Reply Last reply Reply Quote 0
      • D
        duiz
        last edited by

        @Nismo I'm getting this error using your build folder

        Severity Code Description Project File Line Suppression State
        Error MSB6006 "cmd.exe" exited with code -1073741819. ZERO_CHECK C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\Common7\IDE\VC\VCTargets\Microsoft.CppCommon.targets 171
        Error MSB6006 "cmd.exe" exited with code 1. nanosvg C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\Common7\IDE\VC\VCTargets\Microsoft.CppCommon.targets 171
        Error MSB6006 "cmd.exe" exited with code 1. pugixml C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\Common7\IDE\VC\VCTargets\Microsoft.CppCommon.targets 171
        Error MSB6006 "cmd.exe" exited with code 1. es-core C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\Common7\IDE\VC\VCTargets\Microsoft.CppCommon.targets 171
        Error MSB6006 "cmd.exe" exited with code 1. emulationstation C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\Common7\IDE\VC\VCTargets\Microsoft.CppCommon.targets 171
        Error MSB6006 "cmd.exe" exited with code 1. ALL_BUILD C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\Common7\IDE\VC\VCTargets\Microsoft.CppCommon.targets 171

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

          @duiz

          Maybe it's because of this?:

          Visual Studio Community 2015:
          Use the web setup at https://www.visualstudio.com/vs/community/ selecting the following options:

          Custom install
          Select Visual C++->Common Tools (nothing else)
          Select Common Tools->Git & GitHub
          Everything else off

          1 Reply Last reply Reply Quote 0
          • D
            duiz
            last edited by

            That's VS 2017

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

              @duiz I know it, that's because I use bold in 2015...

              All it's working fine for me in Vs 2015.

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

                I was able to open the sln with 2017, have it update the files and continue to build with no problem. I did build with 2015 before trying 2017.

                1 Reply Last reply Reply Quote 0
                • ?
                  A Former User
                  last edited by

                  Is there a way to compile this onto a USB? Or is there no difference?

                  Z 1 Reply Last reply Reply Quote 0
                  • Z
                    Zigurana @A Former User
                    last edited by

                    @itsnitro there's no difference, just copy all the required files into the same dir on de usb.

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

                    1 Reply Last reply Reply Quote 0
                    • R
                      ray3d
                      last edited by

                      I tried to install and all steps run perfect except the last step to build ES in VS 2015 these are the errors are shown. How can I fix:

                      Severity Code Description Project File Line Suppression State Error (active) identifier "open" is undefined es-core c:\src\EmulationStation\es-core\src\platform.cpp 87 Error (active) identifier "close" is undefined es-core c:\src\EmulationStation\es-core\src\platform.cpp 89 Error C3861 'open': identifier not found es-core C:\src\EmulationStation\es-core\src\platform.cpp 87 Error C3861 'close': identifier not found es-core C:\src\EmulationStation\es-core\src\platform.cpp 89 Error C2440 'initializing': cannot convert from 'const boost::filesystem::path::value_type *' to 'std::basic_string<char,std::char_traits<char>,std::allocator<char>>' es-core 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>>' es-core C:\src\EmulationStation\es-core\src\Util.cpp 106

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

                        @ray3d please put the output in a code block (three backticks + newline, see compose?) if you want people to be able to parse this.

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

                        R 1 Reply Last reply Reply Quote 0
                        • R
                          ray3d @Zigurana
                          last edited by

                          @zigurana Thank you ziguana for answer. I see what was the pro the problem was I made the build for both versions at the same time in same directory. Then what I did was only use the commands at post and on VS to only debug version and the build was made perfectly.

                          Now sorry for my ignorance but after I made the build of EmulationStation how do you run? I see in the debug directory these files:"nanosvgd.lib" and "pugixmld.lib" but not an exe sorry to ask but how do you run EmulationStation?

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

                            @ray3d
                            Are you sure the linking did succeed successfully after compilation? It would be good if you could post the complete build output logging (in a codeblock)
                            I have the following library files included in my Debug folder:

                            • boost_date_time-vc140-mt-gd-1_61.dll
                            • boost_filesystem-vc140-mt-gd-1_61.dll
                            • boost_locale-vc140-mt-gd-1_61.dll
                            • boost_system-vc140-mt-gd-1_61.dll
                            • emulationstation.exe
                            • emulationstation.ilk
                            • emulationstation.pdb
                            • es-cored.lib
                            • FreeImage.dll
                            • libcurl.dll
                            • libvlc.dll
                            • libvlccore.dll
                            • nanosvgd.lib
                            • pugixmld.lib

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

                            1 Reply Last reply Reply Quote 0
                            • R
                              ray3d
                              last edited by

                              You are right there is something wrong. Actually I made a re build and I have this errors now:

                              **Severity Code Description Project File Line Suppression State
                              Error C3861 'open': identifier not found es-core C:\src\EmulationStation\es-core\src\platform.cpp 87
                              Error C3861 'close': identifier not found es-core C:\src\EmulationStation\es-core\src\platform.cpp 89
                              Error C2440 'initializing': cannot convert from 'const boost::filesystem::path::value_type ' to 'std::basic_string<char,std::char_traits<char>,std::allocator<char>>' es-core 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>>' es-core C:\src\EmulationStation\es-core\src\Util.cpp 106
                              Error C1083 Cannot open include file: 'SDL2/SDL.h': No such file or directory emulationstation C:\src\EmulationStation\es-app\src\views\ViewController.cpp 15

                              What could be the problem?

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

                                You are missing some dependencies, did cmake find all it needed? You are still only showing part of your output. Please use https://pastebin.com/ to show us all the output of a rebuild.

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

                                1 Reply Last reply Reply Quote 0
                                • R
                                  ray3d
                                  last edited by

                                  Here are the logs of the cmake of EmulationStation via the developer command prompt VS 2015 :

                                  https://pastebin.com/T4dKM21z

                                  And here are the logs of the VS 2015 building EmulationStation:

                                  https://pastebin.com/SNQW0k7J

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

                                    @ray3d wait, what branch are you trying to build?
                                    my touch() method in platform.cpp looks like:

                                    void touch(const std::string& filename)
                                    {
                                    #ifdef WIN32
                                    	FILE* fp = fopen(filename.c_str(), "ab+");
                                    	if (fp != NULL)
                                    		fclose(fp);
                                    #else
                                    	int fd = open(filename.c_str(), O_CREAT|O_WRONLY, 0644);
                                    	if (fd >= 0)
                                    		close(fd);
                                    #endif
                                    }
                                    

                                    Looks like you are trying to build one of the older branches, that did not have the fixes to build on VS2015 yet.

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

                                    1 Reply Last reply Reply Quote 0
                                    • R
                                      ray3d
                                      last edited by

                                      I use this like the post say:

                                      git clone https://github.com/fieldofcows/EmulationStation.git EmulationStation

                                      Nothing else and my touch() in platform.cpp I have:

                                      • void touch(const std::string& filename)
                                        {
                                        int fd = open(filename.c_str(), O_CREAT|O_WRONLY, 0644);
                                        if (fd >= 0)
                                        close(fd);
                                        }

                                      What I need to download then and from where?

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

                                        @ray3d I see, you are cloning fieldofcows branch then.
                                        Try this:
                                        git clone https://github.com/RetroPie/EmulationStation.git EmulationStation
                                        That will give you the current repository from the RetroPie branch, which you can consider the main trunk.

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

                                        1 Reply Last reply Reply Quote 0
                                        • R
                                          ray3d
                                          last edited by

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

                                          git clone https://github.com/RetroPie/EmulationStation.git EmulationStation

                                          I arrived and tested and on the cmake I have this result now. In this case not finish the cmake:

                                          https://pastebin.com/VyfyGMW6

                                          J 1 Reply Last reply Reply Quote 0
                                          • J
                                            jdrassa @ray3d
                                            last edited by

                                            @ray3d pugixml was converted to a submodule since this guide was written.

                                            You will need to run

                                            git submodule update --init
                                            

                                            to pull down the the pugixml code.

                                            Just curious, are you intending to work on the code or are you just looking to get an updated build for Windows?

                                            Get latest build of EmulationStation for Windows here

                                            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.