Build GTK with Windows SDK - windows

how can I compile gtk (itself) with Windows SDK ?

Building in Visual Studio is still quite a lot of work. I've done it, but I don't have reproducible steps for you right now. However, if you have a Linux machine around and are willing to cross-compile I have written up directions on how to build GTK+ for Win32 by cross-compiling.
http://live.gnome.org/Cross%20compiling%20GTK%2B%20for%20Win32
It's also possible to build using MSYS in the command-line on Windows, but that's also a major pain in the ass to get setup. It's also really, really slow. Cross-compiling from Linux is, at a minimum, ten times faster. I'm not 100% sure but it seems to be because if you build using the standard build system then there is a lot of process spawning, which is quite expensive in Win32 compared to Linux.
However, if you want to go this way then install MSYS and pull down the source for glib, atk, cairo, pango, and gtk+.. then try to build using the standard Linux way:
1/ untar the source tarball
2/ in the source's root directory do: ./configure
3/ make
There will undoubtedly be other dependencies that you need to install, such as libpng and libjpeg.

Try the HexChat builds. They use Visual Studio 2010 and come with some prepared scripts and solutions to make your life much easier. Oh and you get binary downloads as well.
http://gtk.hexchat.org/

GTK can be compiled under Cygwin or Microsoft Visual C++.
Did you try this installation method? Look the Microsoft Windows section...
Hope it helps!

Related

How can I obtain tools to build Perl modules on Windows?

I need to install a few modules required my Perl program on Windows. It looks like I need a 64-bit nmake to build those modules. I found nmake15 online, but it does not work on my system.
How can I build those Perl modules on Windows?
Visual Studio 2013 Community Edition is freely available under certain conditions:
Q: Who can use Visual Studio Community?
A: Here’s how individual developers can use Visual Studio Community:
Any individual developer can use Visual Studio Community to create their own free or paid apps.
Here’s how Visual Studio Community can be used in organizations:
An unlimited number of users within an organization can use Visual Studio Community for the following scenarios: in a classroom learning environment, for academic research, or for contributing to open source projects.
For all other usage scenarios: In non-enterprise organizations, up to 5 users can use Visual Studio Community. In enterprise organizations (meaning those with >250 PCs or > $1MM in annual revenue), no use is permitted beyond the open source, academic research, and classroom learning environment scenarios described above.
Now, if you are going to use Visual Studio tools to build your Perl modules, you are going to have to build your perl using those tools as well.
If you have one of the major Perl distributions such as StrawberryPerl or ActivePerl, and you are getting a message about needing a make tool, then you have a configuration issue.
Strawberry Perl already comes with bundled build tools using the MinGW toolchain. ActiveState provides a MinGW package which you can install using PPM.
From your screenshot, I can see that you are rather confused. You have downloaded ActivePerl and StrawberryPerl distributions, and several copies of an ancient 32-bit nmake.
For the time being, you must choose one among the following and stick with it.
ActivePerl or
StrawberryPerl or
Self-compiled perl
If you are careful with your %PATH%, and know what you are doing, multiple distributions can co-exist on your system, but, until then, stick with one and become comfortable using it.
ActivePerl gives you the benefit of pre-packaged CPAN libraries which you can just install from a decent but not stellar package management system called ppm. For any module you need, first see if ppm install Name::of::Module works. If not, you can use perl Makefile.PL, dmake test, dmake install to build and install them in most cases. Make sure the MinGW package I mention above is installed via ppm.
If you choose StrawberryPerl, make sure you have set the paths correctly in your command prompt. It comes pre-packaged with many essential C libraries and Perl modules, and provides the environment to build others you might need. StrawberryPerl also uses dmake as its build tool.
If you decide to build your own perl, you can use VS 2013 CE if Microsoft's terms apply to your situation. Keep in mind that if you choose that route, you are pretty much going to have to compile every C library needed for any modules you are going to use such as OpenSSL, libexpat, sqlite, zlib, libpng etc etc.

How to build a GIMP plug-in with Visual Studio?

I am going to develop an application for android using the GEGL library of GIMP. I am using visual studio 10. how to build the plugin with visual studio? what are the steps? how to run a GIMP project and debug?
I have also come across GIMPVS. please enlighten me about this.
Also, can anybody suggest any tutorial for developing APIs in C using GEGL library?
You will need to be a bit more specific :)
When I compile GIMP plugins on windows, I simply download the libgimp headers and lib files from the gimp-win sourceforge project (they don't seem to be available for 2.6 though, try asking on the GIMP irc, download the gtk+ headers and libs from the gtk+ site, and compile as I would compile any other program.
I guess you can do the same for GEGL, although you'd probably have to compile gegl yourself since I don't remember seeing any gegl distribution for windows. In order to compile GEGL, you will need
a mingw/msys environment
Binaries and Development headers of Gtk+ and babl (You may have to compile babl yourself).
You can refer to the GEGL website for instructions about that. Again, more details on what you are trying to achieve would help :) You can refer to my website on the page about compiling gimp on windows, to find instructions which will help you compile gegl and friends on windows.

Is it possible to run applications compiled by Visual Studio 2008 on Linux?

Is it possible to run applications compiled by Visual Studio 2008 on Linux? Is there plugin that can convert my project exe to a Linux runnable file?
As far as I know, there is no software that allows Visual Studio to generate non-Windows executables.
If it's a native executable (not .NET) you can try running it under WINE and see if that works. If it doesn't I'd guess the options are either to make it work with WINE or see if you can build it as a native Linux application. The latter will be rather painful if it's a GUI application, obviously, and I'd question if it is worth it. Porting a command line app might be doable but don't underestimate the work involved.
if you use dot net there is a MONO library that enables running some dot net application on linux.
but it not fully compatible.
Otherwise you can do it, (maybe using silverlite you would...)
Mono Project

Is it possible to compile Windows binaries on a Linux machine?

At my work, all of the project data resides on an NFS that is accessible from both Linux and Windows machines (using Samba). All of the work is done on Linux, but I'm toying with the idea of compiling some of tools for Windows so that I can debug with Visual Studio.
I already have a nice makefile that can build the code for both 32-bit or 64-bit Linux using different targets. Assuming I have Windows versions of all the external libraries somewhere on the NFS, and assuming the code is clean enough to compile under Windows, is it possible to compile and link my program for Windows using the existing makefile, on Linux? Ideally I'd like to call the makefile once and have it build all three of 32-bit Linux, 64-bit Linux and Windows.
An added plus would be the option to compile it with any Visual Studio metadata to make it easy to debug.
Yes, you can achieve that with MinGW for example.
However, you will probably have to adapt one or two options in your makefile.
There are a number of possibilities I can think of:
You might try running Visual Studio under Wine. If Visual Studio does not run, you may still be able to run the command-line tools.
Run a full installation of Windows in a Virtual Machine. I have done this with Linux on Windows, but not the other way around, but I am certain that it is possible.
Use VNC to access a separate Windows PC from the Linux PC
Use a cross-build of GCC instead of Visual Studio
You need a cross-compilation package. You can also use the Wine lib.

Producing 64-bit builds on Windows with free software

I have a C++ project that I've been developing in Microsoft Visual C++ 2008 Express Edition. It has come to the point that I'd like to port to 64-bit and continue development.
What is the best way to do this using free software?
My thoughts so far:
The Express Edition of MSVC doesn't come with 64-bit compilers, so I can install the Windows SDK to get these. I could then port my project files to nmake, and use the IDE just as a tool to debug and invoke my nmake scripts.. The downside to this is that nmake looks very poor. The example towards the end of this tutorial suggests that nmake cannot figure out source file dependences itself, and I don't know of anything equivelant to gcc -M that I could use.
Another option might be to use vcbuild from the Windows SDK to produce 64-bit builds from my existing vcproj files. Preliminary investigations show that this doesn't really work, as my project files don't have the 64-bit configurations present. (Perhaps I could fudge this by adding the 64-bit configurations to the vcproj files in a text editor.)
A final option might be to give up on MSVC, and port my project to the MinGW/MSYS toolchain.
You can use makedepend as an alternative to gcc -M. Here's a primer on this and other methods of generating dependencies.
You could also give the autoconf+automake combo a try, though it requires some work to make it use MSVC's compiler. Some have succeded at doing this.
If you want to use the Windows SDK compiler with GNU make or another build system, you could write a program/script that converts the output of cl.exe /showIncludes into a format that is compatible with your build system.

Resources