Re: $(BASEEXT).dll Can't be found[was:[Help]Can't find Gtk2.dll]
- From: Shixin Zeng <shixinzeng gmail com>
- To: muppet <scott asofyet org>
- Cc: gtk-perl-list gnome org
- Subject: Re: $(BASEEXT).dll Can't be found[was:[Help]Can't find Gtk2.dll]
- Date: Wed, 27 Apr 2005 22:34:31 +0800
I've solved the promblem, the real evil was Glib, which export
$(BASEEXT).dll instead of Glib.dll. Thus Gtk2 link to $(BASEEXT).dll.
When I compile Glib-perl, it complained that too long command line when
generating Glib.def. I think this may be the source of the problem.
On 4/27/05, Shixin Zeng <shixinzeng gmail com
> wrote:
On 4/27/05,
muppet <scott asofyet org> wrote:
On Apr 27, 2005, at 7:00 AM, Shixin Zeng wrote:
> I think I find the problem, but I still can't solve it.
> The problem is: gtk2.dll add dependence on $(BASEEXT).DLL, obviously,
> $(BASEEXT) should be substitue by the its real value. but, by some
> unkown mistakes, it wasn't substituted. So $(BASEEXT).DLL can't be
> found, and gtk2.dll can't be loaded either.
eh, according to the generated Makefile i have on my linux system here:
# FULLEXT = Pathname for extension directory (eg Foo/Bar/Oracle).
# BASEEXT = Basename part of FULLEXT. May be just equal FULLEXT. (eg
Oracle)
# PARENT_NAME = NAME without BASEEXT and no trailing :: (eg Foo::Bar)
# DLBASE = Basename part of dynamic library. May be just equal
BASEEXT.
FULLEXT = Gtk2
BASEEXT = Gtk2
PARENT_NAME =
DLBASE = $(BASEEXT)
do these lines appear in the Makefile that Makefile.PL creates for you?
Yes, these lines exist, and exactly the same as yours.
note that $(BASEEXT).dll == $(BASEEXT).$(DLEXT) == Gtk2.dll (on win32)
I know this.
by the way, this is the shared object that contains the implementation
of the bindings, installed in perl's library path, not to be confused
with the dll that the extension wraps.
does 'make test' pass? when you're trying to run gtk-demo, have you
already done a 'make install'? does gtk-demo work if you invoke it
like this?
Of course I did 'make install', but gtk-demo can't run. and 'make
test' faild, for "'$(BASEEXT).DLL' can't be found". With
'dependents'(a dll depedence walker from MS VC), I found that Gtk2.dll
depends on '$(BASEEXT).DLL', instead of 'Gtk2.dll'. So, I think this is
the root of the problem. But I don't know how to fix it.
cd gtk-demo
perl -I../blib/lib -I../blib/arch ./main.pl
(mangle the paths as necessary on win32 if the /s don't work)
--
"Quit hittin' yourself! Quit hittin' yourself!"
-- Elysse, playing with a newborn baby.
--
Best regards
Shixin Zeng
--
Best regards
Shixin Zeng
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]