*** IMPORTANT *** This is a STABLE release of GNet 1.1 on Windows. This snapshot was compiled with extra development GNet code. That code has not been tested on windows. See README for a list of Experimental code. I am using Glib CVS HEAD checked out on 2001-7-24. A checkout at a later date may not compile or work. Tor is back and working on a new release of glib. If you don't want to compile GLib and are willing to use an old buggy release use GLib 1.3 snapshot 20010301. [http://www.gimp.org/win32/glib-dev-20010301.zip] That glib snapshot has two confirmed problems: 1) glib's socket iochannels are not freed properly, which causes Winsock to run out of buffer space over time. [It is fixed in GLIB's CVS] 2) glib's window handle callback code always calls back, GNet in this release ignores those extra callbacks. [It is fixed in GLIB's CVS] Join or checkout the mailing lists at http://www.gnetlibrary.org/ for the most up-to-date information. ***************** GNet README for Win32 --------------------- This document contains - General Win32 Specific Information - MINGW/GCC & CYGWIN Notes - MSVC 6.0 Notes - HACKING/TODO on Win32 General Win32 Specific Information ---------------------------------- The Windows port requires either Windows 95 (with the Winsock2 patch) or better, or Windows NT (with Service Pack 4) or better. gnet_inetaddr_gethostname() can't handle hostnames over 256 chars. gnet_private_inetaddr_list_interfaces() does not support more than 10 interfaces. Reminder that on windows, text files have extra "\r" in them where as on *NIX they do not. This will throw off SHA & MD5 if you don't filter the extra characters out before calling those functions. MINGW/GCC & CYGWIN Notes ------------------------ Compiling GNet on windows with gcc/mingw is supported. You first need to patch w32api up to version 0.5 or later. [see http://mingw.sourceforge.net/] A makefile to build GNet is included in the zip. [UPDATE: I have not tested Mingw 1.0 with GNet] You can use/link GNet with gcc/mingw. A ".a" is included in the zip. A makefile is provided to compile the example programs. When compiling your program use the "-lws2_32 switch" example: gcc -g -Wall -mno-cygwin -mpentium -fnative-struct -I../glib -I. -I../gnet -L../glib -L../gnet hostinfo.c -o hostinfo -lgnet-1.0 -lglib-1.3 -lws2_32 MSVC 6.0 Notes -------------- How to link your project to the Gnet DLL uing MSVC 6.0: Download the latest version of Glib for Win32 and copy the header files and glib-X.Y.dll and glib-X.Y.lib to the gnet project folder. Do the same for GNet. Remember change your project settings to include glib-X.Y.lib gnet-X.Y.lib in the link tab. How to compile GNet with MSVC 6.0: Download the latest version of Glib for Win32 and copy the header files and glib-X.Y.dll and glib-X.Y.lib to your project folder. Download the latest version of Gnet for Win32 and a .dsp file is provided to build the project. HACKING/TODO on Win32 --------------------- For a general description on how GNet for Win32 was implemented see halfway down gnet-private.c. FIX: gnet_inetaddr_gethostname() so it can handle hostnames over 256 chars. FIX: gnet_private_inetaddr_list_interfaces() so it support more than 10 Interfaces. .