Coder Social home page Coder Social logo

Comments (1)

can-lehmann avatar can-lehmann commented on May 20, 2024

I use Fedora myself and found cross compiling for Windows quite a pleasant experience. I do not currently have a Windows installation, so I could only test it using wine, but it seemed to work nicely (except for a few missing icons):

sudo dnf install mingw32-gtk3
sudo dnf install mingw64-gtk3
nim compile -d:mingw todo.nim 
sudo dnf install wine
WINEPATH=/usr/x86_64-w64-mingw32/sys-root/mingw/bin/ wine todo.exe 

Not having the mingw64-gtk3 package might complicate things somewhat (as you have described). As I do not use a debian based system, I don't think that I can be of much help here. I would however welcome a pull request adding a document describing how it can be done, should you get it to work. I do however think that dynamic linking is the way to go here, primarily for licensing reasons related to the LGPL.

In general GTK (and therefore owlkettle) might not be the best choice for Windows/Cross-Platform development anyway, since (as far as I know), GTK does not adapt its theme correctly to the operating system and therefore looks somewhat out of place. If you still really wanted to target Windows using owlkettle, a better option might be to create a second widgets.nim file which targets a different backend (instead of GTK). Large parts of owlkettle are not inherently GTK specific and could therefore theoretically be reused. This is of course a lot of work, and currently not one of my personal interests/priorities.

TLDR: Even though cross-compiling owlkettle apps to Windows is not one of my personal aims, if you find a way to get it to work properly, I would accept a pull request which adds a docs/cross_compiling.md describing the process for Ubuntu/Debian and Fedora.

from owlkettle.

Related Issues (20)

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.