mail-archives/gtk-sharp-list/2018-February/011734.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 &quot;Any CPU&quot;. The bit that's missing are the &quot;glue&quot; DLLs that connect these layers.
To generate the &quot;glue&quot; 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 &quot;sharpglue-2&quot; 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>