6

I want to port my C# WinForms application to be usable both with Windows and Linux. I have some experience with Java and more experience with Python but I don't really like the first and I'm concerned with the second (I mean the obfuscation, need to install Python on the target PC, etc.) so I've chosen to use Vala and GTK3 toolkit... it is created mainly for making GNOME applications but I've read that it's multiplatform and is compiled fully to C also with all the dependences needed for running the software - but is it right? I mean: would I meet any limitations while creating my application on Linux? I don't want to finish it and then to discover it can't be run on Windows because I've used some GNOME library...

1
  • 2
    What obfuscation are you talking of?
    – tshepang
    Commented Oct 18, 2012 at 13:46

1 Answer 1

6

There are a lot of GTK applications that currently work on Windows with no problem.

For example:

  • GIMP (raster graphics tool - the application for which GTK was built initially)
  • Inkscape (vector graphics tool)
  • Geany (Text editor)
  • Pidgin

Vala apps will work anywhere a GTK apps will. Can't name a Vala app i've seen running on windows but i'll take an interest in this and get back to you.

By the way there are two (maybe several) approaches to writing the app in Vala/GTK, for example including the entire GTK library into the app or not. Geany offers 2 different binary installers meant to allow you to choose if you already have GTK on your windows download a lighter geany-only instaler, if not download the full installer which incorporates its version of GTK.

Here's a site and a tool that will help you with configuring your vala compiler to output windows executables.

I'm not sure if you can use all the tools that Vala needs on Windows. You may have to develop on a linux box.

4
  • This answers my question. I want to develop on Linux, I was only curios if it's not somehow problematic. Thank you. :)
    – smsware
    Commented Aug 9, 2012 at 14:50
  • 3
    It's worth mentioning that compiling using these libraries using MingW can be a little frustrating and you may have some difficulty finding libraries for Windows that are new, so make sure there's a working MingW DLL of the library you intend to use before you start.
    – apmasell
    Commented Aug 9, 2012 at 17:22
  • @apmasell and that was the thing I was worrying about - I thought that the liblaries are compiled just like the rest of the code meaning that there are "inside" the application and the application itself has no demands for the system itself (like e.g. dos games and such).
    – smsware
    Commented Aug 9, 2012 at 23:32
  • 2
    You can compile the libraries yourself. Ideally, you want to download precompiled Windows libraries and simply include them in your installation package. Have a look at gtk.org/download/win64.php and stackoverflow.com/questions/5269657/…
    – apmasell
    Commented Aug 10, 2012 at 3:25

Not the answer you're looking for? Browse other questions tagged or ask your own question.