GithubHelp home page GithubHelp logo

Please add MinGW support about pixie HOT 7 OPEN

DiegoJArg avatar DiegoJArg commented on July 1, 2024
Please add MinGW support

from pixie.

Comments (7)

samizzo avatar samizzo commented on July 1, 2024 1

Btw I used the standalone mingw build here https://www.mingw-w64.org/downloads/#mingw-builds which doesn't seem to come with a shell. I'm now installing msys2 and mingw within that using pacman which sounds more like your build environment.

from pixie.

samizzo avatar samizzo commented on July 1, 2024 1

Are these the errors you got when double clicking?
image
image

Looks like when building with the gcc installed inside msys it links against some dlls which is unfortunate. I'll look into that.

from pixie.

samizzo avatar samizzo commented on July 1, 2024 1

Ok I've made a bunch of fixes for this and added debug/release configs. I also renamed the makefile to makefile_mingw. You can build debug with make -f makefile_mingw and release with make -f makefile_mingw CONFIG=release.

I'd rather not add the symbol stripping as I prefer to have symbols available during builds. I'll leave that up to the end user as imho it really belongs in a packaging script rather than the makefile.

from pixie.

samizzo avatar samizzo commented on July 1, 2024

from pixie.

samizzo avatar samizzo commented on July 1, 2024

Sorry for the delay @DiegoJArg. I've updated pixie to add a simple makefile for mingw support. Let me know if that works for you. I've also added github actions to test macOS, Windows under msbuild, and Windows under mingw. The macOS and mingw makefiles are very simple for - just debug build, no release config. I'll make them a bit more fully featured soon.

from pixie.

DiegoJArg avatar DiegoJArg commented on July 1, 2024

Hi. Yes, it compiled !!
I guess that only the -mwindows was missing for gcc.

pixie_demo.zip

I noted that pixie_demo.exe would only open with msys2.
It did not worked from CMD, PowerShell and double-clicking on explorer.

I made slight changes to the new makefile_win:

  • For makefile clean I had to change it to: -rm -rf $(OBJDIR). The '-' sign will ignore errors for busy folder.
  • Removed unnecessary UNICODE defines
  • DEBUG symbols as optional
  • Added symbols stripping to reduce more filesize.

makefile_win.zip

Now that I compiled it, I noted that it uses GDI32 on windows.
Similarly, the 'minifb' project has also different backends for framebuffer, including several OGL, but it lacks of a small ImGui headers. Have you tried it? It would be interesting to see but project's strengths joined.

from pixie.

samizzo avatar samizzo commented on July 1, 2024

Thanks for that! Very strange that it wouldn't run. I built from a cmd prompt and it ran successfully. I'll try building from msys2 and see what happens. Thanks for those other changes too. I'm going to set up debug and release builds properly in the makefiles next.

I haven't seen minifb before. It looks a lot more featureful than pixie. OpenGL would definitely be faster (and also make it easier to port to other platforms) but I hadn't had any performance problems personally using GDI. Maybe one day I'll add some other backends though - that would be useful!

from pixie.

Related Issues (3)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.