Re: Gdk-WARNING **: gdkgc-win32.c:898: SaveDC failed: Not enough
Prakash Bhurke <[email protected]> Mon, 27 Sep 2004 23:33:28 -0700 (PDT)
| Newsgroups | gmane.comp.scigraphica.gtkextra |
|---|---|
| Message-ID | <[email protected]> |
Hi Adrian
Thanks for reply.
>>> Why don't you try with the new CVS version,
and let me know?
--> I got some compile time errors with new version gtkextra2 on windows XP.
But I succeseeded to build it by modifing Makefile.win32. I have attached Makefile.win32.
I tried to build my application with new cvs version gtkextra, but I got compile time errors, ( since you have changed prototype of some gtkextra APIs ).
Please read my previous mail completely. I sent output of compile time errors in that mail.
Reagards,
Prakash
"Adrian E. Feiguin" <[email protected]> wrote:
Hi Prakash! This look like a problem with the font loading, maybe a
memory leak. However, I rewrote that piece of code completely, to use
Pango instead of gdk fonts. Why don't you try with the new CVS version,
and let me know?
Thanks!,
Prakash Bhurke wrote:
> Hi,
>
> Few months ago, I downloaded gtkexrta2 from sourceforge's CVS server.
> I was able to build/run it successfully on Windows XP.
> Now, i have developed an application (uses gtkextra for plotting
> graph) which runs more than hour.
> -------------------------------------------------------------------------------------------------------------------------------
> But after few mins , I got segmenation fault having following
> error messages.
> ----------------------------------------------------------------------------------------------------------------
---------------------------------
Do you Yahoo!?
vote.yahoo.com - Register online to vote today!
Makefile.win32
(text/plain, 7.8 KB)
#
# Makefile for mingw environment (native win32 no cygwin dll
# dependencies). Requires mingw gcc release >= 2.95.2-1 and of
# course a version of make.
#
###########################################################################
#
# User variables, change for your local system
#
# comment out for no debugging
DEBUGGING_ON = 1
# Put the path to where your gtk libraries are kept
GTK_PATH = c:/mingw
################## Try not to edit ############################
CC = gcc
CXX = g++
DEBUG = -g -Wall
CXXFLAGS =
ifdef DEBUGGING_ON
CFLAGS = $(DEBUG) -O2 -mwindows -mms-bitfields -mcpu=pentium
else
CFLAGS = -O2 -mwindows -fexpensive-optimizations -ffast-math\
-mms-bitfields -mcpu=pentium
endif
CPPFLAGS = -I.
DLL_CFLAGS = -DHAVE_CONFIG_H -I ..
exeext = .exe
#
# Various targets to build.
#
DLL_NAME = libgtkextra-win32-2.0.dll
DLL_EXP_LIB = libgtkextra-win32-2.0.dll.a
DLL_EXP_DEF = gtkextra.def
LIBA=libgtkextra-win32-2.0.a
TESTAPPS = testgtksheet testgtkiconlist testgtkfilesel testgtkplot \
testbubbles testgtkfont testrealtime testgtkplot3d \
testcontour testpolar testflux testboxes testimage
TESTEXE = $(TESTAPPS:=.exe)
TESTOBJ = $(TESTAPPS:=.o)
#
# sources, objects, etc.
#
SRCS = \
gtkbordercombo.c gtkfontcombo.c gtkplotcanvas.c gtkplotprint.c \
gtkcharsel.c gtkiconfilesel.c gtkplotcsurface.c gtkplotps.c \
gtkcheckitem.c gtkiconlist.c gtkplotdata.c gtkplotsurface.c \
gtkcolorcombo.c gtkitementry.c gtkplotflux.c gtkpsfont.c \
gtkcombobox.c gtkplot.c gtkplotgdk.c gtksheet.c \
gtkdirtree.c gtkplot3d.c gtkplotpc.c gtktogglecombo.c \
gtkextra.c gtkextra-marshal.c gtkplotbar.c gtkplotpixmap.c \
gtkfilelist.c gtkplotbox.c gtkplotpolar.c gtkplotdt.c \
gtkplotcandle.c gtkplotarray.c gdk-pixbuf-hacks.c gtkplotcanvasplot.c \
gtkplotcanvastext.c gtkextratypebuiltins.c gtkplotbubble.c \
gtkplotcanvasellipse.c gtkplotcanvasline.c gtkplotcanvaspixmap.c \
gtkplotcanvasrectangle.c gtkplotdtriangle.c gtkplotsegment.c
#gdk-pixbuf-rotate.c gtkplotcanvaspolygon.c
# $(wildcard *.cc *.c)
OBJS = $(SRCS:.cc=.o)
OBJS := $(OBJS:.c=.o)
#
# DLL related variables. These are used when building the DLL. See later.
#
#
INC= -I . -I $(GTK_PATH)/include/glib-2.0\
-I $(GTK_PATH)/include/glib-2.0/gmodule \
-I $(GTK_PATH)/lib/glib-2.0/include \
-I $(GTK_PATH)/lib/gtk-2.0/include \
-I $(GTK_PATH)/include/gtk-2.0 \
-I $(GTK_PATH)/include/pango-1.0 \
-I $(GTK_PATH)/include/atk-1.0 \
-I ..
LIB = -L . -L $(GTK_PATH)/lib/ \
-L $(GTK_PATH)/lib/glib-2.0 \
-L $(GTK_PATH)/lib/glib-2.0/gmodule
DLL_CFLAGS =
# The default entry point defined by dllwrap; the default user callback
# is DllMain
DLL_LDFLAGS =
# any extra libraries that your DLL may depend on.
DLL_LDLIBS = -L $(GTK_PATH)/lib \
-lgtk-win32-2.0 -lgdk-win32-2.0 -lgdk_pixbuf-2.0 -lpango-1.0 -latk-1.0 \
-lglib-2.0 \
-lgmodule-2.0 \
-lgobject-2.0 \
-lgthread-2.0 \
-lm -luser32 -ladvapi32 -lwsock32
DLL_SRCS = $(SRCS)
DLL_OBJS = $(DLL_SRCS:.cc=.o)
DLL_OBJS := $(DLL_OBJS:.c=.o)
all: config $(LIBA) $(DLL_NAME) tests
static:$(LIBA)
dll:$(DLL_NAME)
config:
copy ..\config.h.win32 ..\config.h
$(LIBA):$(DLL_OBJS)
ar rc $@ $^
#
# Build the dll using the shared switch
#
$(DLL_NAME):
$(CC) --shared $(DLL_OBJS) $(DLL_LDFLAGS) $(DLL_LDLIBS) \
-o $@ -Wl,--out-implib,$(DLL_EXP_LIB)
#
# Here we build the test executeables
#
tests:\
testboxes testflux testgtkplot testpixmap \
testbubbles testgtkfilesel testgtkplot3d testpolar \
testcharsel testgtkfont testgtksheet testrealtime \
testcontour testgtkiconlist
testgtkfilesel: testgtkfilesel.o
$(CC) $(INC) $(LIB) testgtkfilesel.o -o $@ -lm \
-lgtkextra-win32-2.0 -lgdk-win32-2.0 -lgdk_pixbuf-2.0 -lgtk-win32-2.0 -lgmodule-2.0 -lgobject-2.0 -lgthread-2.0 \
-lglib-2.0 -luser32 -ladvapi32 -lwsock32 -lpango-1.0 -latk-1.0
testgtkplot: testgtkplot.o
$(CC) $(INC) $(LIB) testgtkplot.o -o $@ -lm \
-lgtkextra-win32-2.0 -lgdk-win32-2.0 -lgdk_pixbuf-2.0 -lgtk-win32-2.0 -lgmodule-2.0 -lgobject-2.0 -lgthread-2.0 \
-lglib-2.0 -luser32 -ladvapi32 -lwsock32 -lpango-1.0 -latk-1.0
testboxes: testboxes.o
$(CC) $(INC) $(LIB) testboxes.o -o $@ -lm \
-lgtkextra-win32-2.0 -lgdk-win32-2.0 -lgdk_pixbuf-2.0 -lgtk-win32-2.0 -lgmodule-2.0 -lgobject-2.0 -lgthread-2.0 \
-lglib-2.0 -luser32 -ladvapi32 -lwsock32 -lpango-1.0 -latk-1.0
testflux: testflux.o
$(CC) $(INC) $(LIB) testflux.o -o $@ -lm \
-lgtkextra-win32-2.0 -lgdk-win32-2.0 -lgdk_pixbuf-2.0 -lgtk-win32-2.0 -lgmodule-2.0 -lgobject-2.0 -lgthread-2.0 \
-lglib-2.0 -luser32 -ladvapi32 -lwsock32 -lpango-1.0 -latk-1.0
testbubbles: testbubbles.o
$(CC) $(INC) $(LIB) testbubbles.o -o $@ -lm \
-lgtkextra-win32-2.0 -lgdk-win32-2.0 -lgdk_pixbuf-2.0 -lgtk-win32-2.0 -lgmodule-2.0 -lgobject-2.0 -lgthread-2.0 \
-lglib-2.0 -luser32 -ladvapi32 -lwsock32 -lpango-1.0 -latk-1.0
testpolar: testpolar.o
$(CC) $(INC) $(LIB) testpolar.o -o $@ -lm \
-lgtkextra-win32-2.0 -lgdk-win32-2.0 -lgdk_pixbuf-2.0 -lgtk-win32-2.0 -lgmodule-2.0 -lgobject-2.0 -lgthread-2.0 \
-lglib-2.0 -luser32 -ladvapi32 -lwsock32 -lpango-1.0 -latk-1.0
testcontour: testcontour.o
$(CC) $(INC) $(LIB) testcontour.o -o $@ -lm \
-lgtkextra-win32-2.0 -lgdk-win32-2.0 -lgdk_pixbuf-2.0 -lgtk-win32-2.0 -lgmodule-2.0 -lgobject-2.0 -lgthread-2.0 \
-lglib-2.0 -luser32 -ladvapi32 -lwsock32 -lpango-1.0 -latk-1.0
testgtkplot3d: testgtkplot3d.o
$(CC) $(INC) $(LIB) testgtkplot3d.o -o $@ -lm \
-lgtkextra-win32-2.0 -lgdk-win32-2.0 -lgdk_pixbuf-2.0 -lgtk-win32-2.0 -lgmodule-2.0 -lgobject-2.0 -lgthread-2.0 \
-lglib-2.0 -luser32 -ladvapi32 -lwsock32 -lpango-1.0 -latk-1.0
testgtksheet: testgtksheet.o
$(CC) $(INC) $(LIB) -o $@ testgtksheet.o -lm \
-lgtkextra-win32-2.0 -lgdk-win32-2.0 -lgdk_pixbuf-2.0 -lgtk-win32-2.0 -lgmodule-2.0 -lgobject-2.0 -lgthread-2.0 \
-lglib-2.0 -luser32 -ladvapi32 -lwsock32 -lpango-1.0 -latk-1.0
testgtkfont: testgtkfont.o
$(CC) $(INC) $(LIB) testgtkfont.o -o $@ -lm \
-lgtkextra-win32-2.0 -lgdk-win32-2.0 -lgdk_pixbuf-2.0 -lgtk-win32-2.0 -lgmodule-2.0 -lgobject-2.0 -lgthread-2.0 \
-lglib-2.0 -luser32 -ladvapi32 -lwsock32 -lpango-1.0 -latk-1.0
testrealtime: testrealtime.o
$(CC) $(INC) $(LIB) -o $@ testrealtime.o -lm \
-lgtkextra-win32-2.0 -lgdk-win32-2.0 -lgdk_pixbuf-2.0 -lgtk-win32-2.0 -lgmodule-2.0 -lgobject-2.0 -lgthread-2.0 \
-lglib-2.0 -luser32 -ladvapi32 -lwsock32 -lpango-1.0 -latk-1.0
testgtkiconlist: testgtkiconlist.o
$(CC) $(INC) $(LIB) -o $@ testgtkiconlist.o -lm \
-lgtkextra-win32-2.0 -lgdk-win32-2.0 -lgdk_pixbuf-2.0 -lgtk-win32-2.0 -lgmodule-2.0 -lgobject-2.0 -lgthread-2.0 \
-lglib-2.0 -luser32 -ladvapi32 -lwsock32 -lpango-1.0 -latk-1.0
testpixmap: testpixmap.o
$(CC) $(INC) $(LIB) -o $@ testpixmap.o -lm \
-lgtkextra-win32-2.0 -lgdk-win32-2.0 -lgdk_pixbuf-2.0 -lgtk-win32-2.0 -lgmodule-2.0 -lgobject-2.0 -lgthread-2.0 \
-lglib-2.0 -luser32 -ladvapi32 -lwsock32 -lpango-1.0 -latk-1.0
testcharsel: testcharsel.o
$(CC) $(INC) $(LIB) -o $@ testcharsel.o -lm \
-lgtkextra-win32-2.0 -lgdk-win32-2.0 -lgdk_pixbuf-2.0 -lgtk-win32-2.0 -lgmodule-2.0 -lgobject-2.0 -lgthread-2.0 \
-lglib-2.0 -luser32 -ladvapi32 -lwsock32 -lpango-1.0 -latk-1.0
#
# default rules for building DLL objects. Note that client programs (ie.,
# the ones that *use* the DLL) have to be compiled without the DLL_CFLAGS
# flags.
#
.cc.o:
$(CXX) -c $(DLL_CFLAGS) $(CPPFLAGS) $(CXXFLAGS) -o $@ $<
.c.o:
$(CC) -c $(DLL_CFLAGS) $(CPPFLAGS) $(CFLAGS) $(INC) -o $@ $<
clean:
-rm -f $(OBJS) $(DLL_NAME) $(DLL_EXP_LIB) $(LIBA) \
$(TESTEXE) $(TESTOBJ)