• Recent
  • Tags
  • Popular
  • Home
  • Docs
  • Register
  • Login
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.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.
  • Z
    Zigurana @fieldofcows
    last edited by 16 Nov 2016, 09:36

    @fieldofcows YOU ARE THE BEST!

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

    1 Reply Last reply Reply Quote 0
    • Z
      Zigurana @reigelgallarde
      last edited by 16 Nov 2016, 10:02

      @reigelgallarde
      Depends on your preferences, notepad(++) will work, but if you want a full blown IDE to guide you through the code and supply code-completion and what not, use the VisualStudio. This also integrates with Github nowadays, and you will use it for building anyways.

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

      M 1 Reply Last reply 16 Nov 2016, 11:18 Reply Quote 0
      • M
        mattrixk @Zigurana
        last edited by 16 Nov 2016, 11:18

        @Zigurana I was just s#!t-stirring when I mentioned notepad... I wasn't expecting it to actually be an applicable answer. I have no idea where to even begin if I wanted to try messing with ES itself. I'll stick to theme making for now.

        My ES themes: MetaPixel | Spare | Io | Indent

        Z 1 Reply Last reply 16 Nov 2016, 13:26 Reply Quote 0
        • T
          tronkyfran
          last edited by 16 Nov 2016, 12:40

          I coudn't for my life make this work on windows before, lets give it a try again!!!

          F Z 2 Replies Last reply 16 Nov 2016, 13:19 Reply Quote 1
          • F
            fieldofcows @tronkyfran
            last edited by 16 Nov 2016, 13:19

            @tronkyfran If you do give it a go then please update this topic saying how you got on. I can then fix the steps if there are any errors. Thanks :)

            Z 1 Reply Last reply 16 Nov 2016, 21:52 Reply Quote 0
            • Z
              Zigurana @tronkyfran
              last edited by 16 Nov 2016, 13:23

              @tronkyfran
              I'll be doing the same thing tonight.

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

              1 Reply Last reply Reply Quote 1
              • Z
                Zigurana @mattrixk
                last edited by 16 Nov 2016, 13:26

                @mattrixk Ah, I see, I'm afraid my shitstirring-detectors were not booted up yet. All ready to go now!
                (Wait, do I smell something?)

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

                1 Reply Last reply Reply Quote 0
                • Z
                  Zigurana @fieldofcows
                  last edited by Zigurana 16 Nov 2016, 21:52

                  @fieldofcows : Hey, I'm still running cmake for ES at the moment, but I just wanted to let you know that after cloning your ES repo, you need to create the build directory inside that newly downloaded EmulationStation directory, then call the long cmake command from there.
                  It's kinda obvious, but easy to miss if you are just copy pasting the commands to the command prompt.

                  Apart from that, everything is going swell!

                  [Edit: And the debug version is running! I can't believe this! I finally got out of this dependency hell! Thank you, I owe you a beer!]

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

                  F 1 Reply Last reply 16 Nov 2016, 22:49 Reply Quote 1
                  • F
                    fieldofcows @Zigurana
                    last edited by 16 Nov 2016, 22:49

                    @Zigurana Yay! It works! Thanks for pointing out the error. I've edited it in the first post.

                    Did you manage to copy the dependent DLLs ok? By the time I was writing that bit up it was after midnight and I was working in Linux from memory so it's a bit vague.

                    1 Reply Last reply Reply Quote 0
                    • R
                      reigelgallarde
                      last edited by reigelgallarde 17 Nov 2016, 01:54

                      Thanks to all and thanks for the notepad(++) suggestion... haha my bad I was not specific with my question. I thought there was an easy way than notepad(++).
                      So I guess Visual Studio it is.

                      I'm not a c++ developer but I know a little about it. What I'm trying to achieve might not be possible.
                      What I'm really trying to do is make emulation station accept html/css/javascript codes.
                      So it would be easy for us to change theme. As in change all the designs the easy way. Not just color or background. And there are a lot of javascript plugins around free to download.

                      I was thinking of using nodejs + ejs. I'm still reading through chromium embedded framework. CEF has chromium inside it, much like google chrome. With this it would be easy for us to just throw in html/css/javascript templates. And with javascript or css3, imagine the animations we could do.

                      Outside ES, with this idea, using node-webkit , I was able to replicate hyperspin (frontend only) on my Windows machine (I have not tried but I'm sure it would also run on Linux). But my target is raspberry pi. node-webkit can't be opened on a lite raspbian which is too bad. It says GTK error, cannot open window* haha.

                      So with that I'm back to editing ES. But a novice like me on C++ this would take time. Good luck to me.

                      1 Reply Last reply Reply Quote 1
                      • K
                        kfj001
                        last edited by 19 Nov 2016, 00:43

                        This was an awesome guide! One caveat I found - building emulationstation in VS ran into linker errors, but once I added /FORCE:MULTIPLE to the linker options (of the emulationstation project!) it built with no problems.

                        1 Reply Last reply Reply Quote 0
                        • T
                          TheRealFox
                          last edited by 25 Nov 2016, 21:57

                          ""Allow Visual Studio to convert project to 2015"". In this section, i need a detalied explanation how to convert. I am noob , so can you explain step by step how to convert the project to 2015?

                          F 1 Reply Last reply 25 Nov 2016, 22:26 Reply Quote 0
                          • F
                            fieldofcows @TheRealFox
                            last edited by 25 Nov 2016, 22:26

                            @TheRealFox Just open the project in Visual Studio. It will pop up a box saying that the project is for an old version of visual studio and ask you if you want to update it. Just say yes and it should load and build ok.

                            T 4 Replies Last reply 25 Nov 2016, 23:35 Reply Quote 0
                            • B
                              binpaxjunk
                              last edited by 25 Nov 2016, 23:31

                              great work

                              1 Reply Last reply Reply Quote 0
                              • T
                                TheRealFox @fieldofcows
                                last edited by 25 Nov 2016, 23:35

                                @fieldofcows The Project doesnt ask. I saw it also on a note at microsoft site: " If you decline the update when you're first prompted, you can update the project later by choosing Update VC++ project on the Project menu. If the command doesn't appear, then an update isn't required."

                                T Z 2 Replies Last reply 26 Nov 2016, 00:04 Reply Quote 0
                                • T
                                  TheRealFox @fieldofcows
                                  last edited by TheRealFox 25 Nov 2016, 23:39

                                  @fieldofcows I see this also at microsoft site, that the conversion in some cases are not necessary. Check this: " If the project (.vcxproj) was created in Visual Studio 2010, Visual Studio 2012, or Visual Studio 2013 you have two options:
                                  You can skip the update. Visual Studio 2015 will load the project without making any changes if it has access to the Visual C++ tools in Visual Studio 2010 with SP1, Visual Studio 2012, or Visual Studio 2013. You can provide this access by installing the version of Visual Studio that the project was created with on the same machine that has Visual Studio 2015. For more information, see Installing Visual Studio Versions Side-by-Side. "

                                  1 Reply Last reply Reply Quote 0
                                  • T
                                    TheRealFox @fieldofcows
                                    last edited by TheRealFox 25 Nov 2016, 23:53

                                    @fieldofcows there are 3 files named freeimage.2013, but i dont noticed the file with the extension .sln.

                                    1 Reply Last reply Reply Quote 0
                                    • T
                                      TheRealFox @TheRealFox
                                      last edited by TheRealFox 26 Nov 2016, 00:04

                                      @TheRealFox lol..updating my situation..i found freeimage.2013.sln..when i opened this file, he starts to parsing the pages , but dont ask for update. When i clicked on debbug , the VS tells that the file are out dated. This was the asking you say above?

                                      1 Reply Last reply Reply Quote 0
                                      • T
                                        TheRealFox @fieldofcows
                                        last edited by TheRealFox 26 Nov 2016, 00:15

                                        @fieldofcows, i get this when i finish the debbug: " 1> c:\src\lib\freeimage\source\libtiff4\tif_config.h(84): note: see previous definition of 'snprintf'
                                        1>c:\program files (x86)\windows kits\10\include\10.0.10240.0\ucrt\stdio.h(1927): fatal error C1189: #error: Macro definition of snprintf conflicts with Standard Library function declaration"

                                        1 Reply Last reply Reply Quote 0
                                        • T
                                          TheRealFox
                                          last edited by TheRealFox 26 Nov 2016, 00:18

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

                                          Edit tif_config.h to remove #define snprintf _snprintf

                                          The post lack of detailed information for noobs like me. That is my situation: How I do that: "Edit tif_config.h to remove #define snprintf _snprintf"

                                          F 1 Reply Last reply 27 Nov 2016, 22:59 Reply Quote 0
                                          24 out of 108
                                          • First post
                                            24/108
                                            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.

                                            This community forum collects and processes your personal information.
                                            consent.not_received