зеркало из https://github.com/mono/mail-archives.git
77 строки
5.0 KiB
HTML
77 строки
5.0 KiB
HTML
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
||
<HTML>
|
||
<HEAD>
|
||
<TITLE> [Gtk-sharp-list] Gtk# 64-bit on Windows
|
||
</TITLE>
|
||
<LINK REL="Index" HREF="index.html" >
|
||
<LINK REL="made" HREF="mailto:gtk-sharp-list%40lists.dot.net?Subject=Re%3A%20%5BGtk-sharp-list%5D%20Gtk%23%2064-bit%20on%20Windows&In-Reply-To=%3C6aeee18ae2144577a469c6d919e3f8d6%40exch1-cdc.nexus.csiro.au%3E">
|
||
<META NAME="robots" CONTENT="index,nofollow">
|
||
<style type="text/css">
|
||
pre {
|
||
white-space: pre-wrap; /* css-2.1, curent FF, Opera, Safari */
|
||
}
|
||
</style>
|
||
<META http-equiv="Content-Type" content="text/html; charset=utf-8">
|
||
<LINK REL="Previous" HREF="011733.html">
|
||
<LINK REL="Next" HREF="011730.html">
|
||
</HEAD>
|
||
<BODY BGCOLOR="#ffffff">
|
||
<H1>[Gtk-sharp-list] Gtk# 64-bit on Windows</H1>
|
||
<B>Eric.Zurcher at csiro.au</B>
|
||
<A HREF="mailto:gtk-sharp-list%40lists.dot.net?Subject=Re%3A%20%5BGtk-sharp-list%5D%20Gtk%23%2064-bit%20on%20Windows&In-Reply-To=%3C6aeee18ae2144577a469c6d919e3f8d6%40exch1-cdc.nexus.csiro.au%3E"
|
||
TITLE="[Gtk-sharp-list] Gtk# 64-bit on Windows">Eric.Zurcher at csiro.au
|
||
</A><BR>
|
||
<I>Sun Feb 25 23:44:16 UTC 2018</I>
|
||
<P><UL>
|
||
<LI>Previous message (by thread): <A HREF="011733.html">[Gtk-sharp-list] Gtk# 64-bit on Windows
|
||
</A></li>
|
||
<LI>Next message (by thread): <A HREF="011730.html">[Gtk-sharp-list] block escape key
|
||
</A></li>
|
||
<LI> <B>Messages sorted by:</B>
|
||
<a href="date.html#11734">[ date ]</a>
|
||
<a href="thread.html#11734">[ thread ]</a>
|
||
<a href="subject.html#11734">[ subject ]</a>
|
||
<a href="author.html#11734">[ author ]</a>
|
||
</LI>
|
||
</UL>
|
||
<HR>
|
||
<!--beginarticle-->
|
||
<PRE>David,
|
||
|
||
Building Gtk# for 64-bit Windows wasn't all that difficult to do, but first I should clarify that I did my build for Gtk# 2.12, not for Gtk# 3.x. Similar procedures can probably be used for either, but I've only dealt with the former. Also, I did not include glade in my builds.
|
||
|
||
A lot of the binaries you need for 64-bit Gtk# on Windows already exists. Native 64-bit Gtk+-2 binaries can be downloaded from <A HREF="https://github.com/tschoonj/GTK-for-Windows-Runtime-Environment-Installer,">https://github.com/tschoonj/GTK-for-Windows-Runtime-Environment-Installer,</A> and possibly other locations. Similarly, the existing .Net assemblies (like gtk-sharp.dll) are built to run on "Any CPU". The bit that's missing are the "glue" DLLs that connect these layers.
|
||
|
||
To generate the "glue" source, I obtained the gtk-sharp source by cloning the repository at <A HREF="https://github.com/mono/gtk-sharp.git,">https://github.com/mono/gtk-sharp.git,</A> pulling the gtk-sharp-2-12-branch branch. I also started with the native 64-bit Gtk+ 2 binaries for version 2.24.31 from the source given above, and obtained the source for the corresponding version of atk, Cairo, gdk-pixbuf, glib, gtk+, and pango from <A HREF="http://ftp.acc.umu.se/pub/gnome/sources.">http://ftp.acc.umu.se/pub/gnome/sources.</A> I grabbed the source tree from <A HREF="http://files.xamarin.com/~duncan/gtk+-bundle-2-12-25.zip,">http://files.xamarin.com/~duncan/gtk+-bundle-2-12-25.zip,</A> but only used the gdkconfig.h and cairo-features.h files from there.
|
||
|
||
I then used Cygwin to configure and make gtk-sharp, specifying a build target of x86_64-w64-winnt. This built everything but left a few Cygwin dependencies in the resulting DLLs. As I had a few reasons for wanting to use Visual Studio in my builds, I created new project files for the atk, gdk, glib, gtk and pango "sharpglue-2" DLLs. This involved generating suitable import libraries for a few of the Gtk+ 2 DLLs, and creating new .def files to export all the entry points. To simplify the latter task, I extracted the list of the exports from the existing 32-bit versions; otherwise I would have somehow had to extract the names of over 700 functions from the source code.
|
||
|
||
That's not as simple as one might like, but it's not really all that difficult, either. The results seem to work correctly, and our project is now shipping 64-bit releases for Windows. (We needed that because of a few users running into memory limitations when running the 32-bit versions.)
|
||
|
||
Eric Zurcher
|
||
Software developer | GrazPlan Project
|
||
CSIRO Agriculture and Food
|
||
|
||
</PRE>
|
||
|
||
<!--endarticle-->
|
||
<HR>
|
||
<P><UL>
|
||
<!--threads-->
|
||
<LI>Previous message (by thread): <A HREF="011733.html">[Gtk-sharp-list] Gtk# 64-bit on Windows
|
||
</A></li>
|
||
<LI>Next message (by thread): <A HREF="011730.html">[Gtk-sharp-list] block escape key
|
||
</A></li>
|
||
<LI> <B>Messages sorted by:</B>
|
||
<a href="date.html#11734">[ date ]</a>
|
||
<a href="thread.html#11734">[ thread ]</a>
|
||
<a href="subject.html#11734">[ subject ]</a>
|
||
<a href="author.html#11734">[ author ]</a>
|
||
</LI>
|
||
</UL>
|
||
|
||
<hr>
|
||
<a href="http://lists.dot.net/mailman/listinfo/gtk-sharp-list">More information about the Gtk-sharp-list
|
||
mailing list</a><br>
|
||
</body></html>
|