Thread overview
help with link.exe (OT)
Oct 13, 2004
Ant
Oct 13, 2004
Walter
Oct 13, 2004
Derek
Oct 14, 2004
Ant
Oct 14, 2004
Ant
Re: help with link.exe (OT) - DUI
Oct 15, 2004
Ant
October 13, 2004
After some hours spent with makefile and even digc
(I like digc btw. just can't pass the libs(?))
I give up and when back to simple batch files to compile D progs in windows.

but now I get quite a few of these errors:
dui.lib(Window)
Error 42: Symbol Undefined __Class_5event5Event5Event
(some repeated to add up 50 or 60)
if something was really wrong I would get several hundreads of errors,
not just 50.
When I open the libs on notepad the simbols are there
(but I can't tell if being defined or referenced)
I hope it's a simple mistake and someone just knows what's wrong.

how can I make sure my libs contain the definitions?
what's wrong with my .bat file:

(I realize this is a bit of topic, sorry)

Ant

install.bat --------------------------------------------------------- @echo off

rem cleanup ####################
del *.map *.exe *.bak *.obj

rem compile ####################
cd ..
dmd -c -odinstaller -I.;\dante\dool\src;\dante\DUI\src installer\Installer.d

cd

rem link #######################
:link

rem define libs ################
set GTK_BASE=\usr

set LIBS=dool dui phobos

set LIBS=%LIBS%	charset
set LIBS=%LIBS%	iconv
set LIBS=%LIBS%	intl
set LIBS=%LIBS%	jpeg62
set LIBS=%LIBS%	libatk-1.0-0
set LIBS=%LIBS%	libgdk-win32-2.0-0
set LIBS=%LIBS%	libgdk_pixbuf-2.0-0
set LIBS=%LIBS%	libglib-2.0-0
set LIBS=%LIBS%	libgmodule-2.0-0
set LIBS=%LIBS%	libgobject-2.0-0
set LIBS=%LIBS%	libgthread-2.0-0
set LIBS=%LIBS%	libgtk-win32-2.0-0
rem set LIBS=%LIBS%	libjpeg
set LIBS=%LIBS%	libpango-1.0-0
set LIBS=%LIBS%	libpangoft2-1.0-0
set LIBS=%LIBS%	libpangowin32-1.0-0
rem set LIBS=%LIBS%	libpng
rem set LIBS=%LIBS%	libtiff
set LIBS=%LIBS%	zlib1
rem set LIBS=%LIBS%	zlib

rem define lib dirs #############

set LIBS=%LIBS% \dante\dool\ \dante\DUI\ \dmd\lib\
set LIBS=%LIBS% %GTK_BASE%\ %GTK_BASE%\bin\ %GTK_BASE%\lib\
%GTK_BASE%\lib\gtk-2.0\2.4.0\immodules\ %GTK_BASE%\lib\gtk-2.0\2.4.0\loaders\
%GTK_BASE%\lib\pango\1.4.0\modules\


rem link ########################

\dm\bin\link.exe installer\Installer, setup.exe,, %LIBS%

cd install
linker output --------------------------------------------------
E:\dante\DUI\src\installer>install
E:\dante\DUI\src
OPTLINK (R) for Win32  Release 7.50B1
Copyright (C) Digital Mars 1989 - 2001  All Rights Reserved

dui.lib(Window)
Error 42: Symbol Undefined
_D5event12EventHandler7connectFC3dui6Widget6WidgetC4dool6String6StringPvPvE12ConnectFlagsZv
dui.lib(Window)
Error 42: Symbol Undefined __Class_5event5Event5Event
dui.lib(Window)
Error 42: Symbol Undefined
_D5event5Event5Event5_ctorFPS5event5Event8GdkEventZC5event5Event5Event
dui.lib(Window)
Error 42: Symbol Undefined
_D3ddi6Pixbuf6Pixbuf5_ctorFPS3def5Types9GdkPixbufZC3ddi6Pixbuf6Pixbuf
dui.lib(Window)
Error 42: Symbol Undefined __Class_3ddi6Pixbuf6Pixbuf
dui.lib(Window)
Error 42: Symbol Undefined
_D3ddi6Screen6Screen5_ctorFPS3def5Types9GdkScreenZC3ddi6Screen6Screen
dui.lib(Window)
Error 42: Symbol Undefined __Class_3ddi6Screen6Screen
dui.lib(Widget)
Error 42: Symbol Undefined __Class_5event5Event11EventButton
dui.lib(Widget)
Error 42: Symbol Undefined
_D5event5Event11EventButton5_ctorFPS5event5Event8GdkEventZC5event5Event11EventButton
dui.lib(Widget)
Error 42: Symbol Undefined __Class_5event5Event11EventMotion
dui.lib(Widget)
Error 42: Symbol Undefined
_D5event5Event11EventMotion5_ctorFPS5event5Event8GdkEventZC5event5Event11EventMotion
dui.lib(Widget)
Error 42: Symbol Undefined __Class_5event5Event11EventExpose
dui.lib(Widget)
Error 42: Symbol Undefined
_D5event5Event11EventExpose5_ctorFPS5event5Event8GdkEventZC5event5Event11EventExpose
dui.lib(Widget)
Error 42: Symbol Undefined __Class_5event5Event8EventKey
dui.lib(Widget)
Error 42: Symbol Undefined
_D5event5Event8EventKey5_ctorFPS5event5Event8GdkEventZC5event5Event8EventKey
dui.lib(Widget)
Error 42: Symbol Undefined __Class_5event5Event13EventCrossing
dui.lib(Widget)
Error 42: Symbol Undefined
_D5event5Event13EventCrossing5_ctorFPS5event5Event8GdkEventZC5event5Event13EventCrossing
dui.lib(Widget)
Error 42: Symbol Undefined __Class_5event5Event14EventConfigure
dui.lib(Widget)
Error 42: Symbol Undefined
_D5event5Event14EventConfigure5_ctorFPS5event5Event8GdkEventZC5event5Event14EventConfigure
dui.lib(Widget)
Error 42: Symbol Undefined __Class_5event5Event10EventFocus
dui.lib(Widget)
Error 42: Symbol Undefined
_D5event5Event10EventFocus5_ctorFPS5event5Event8GdkEventZC5event5Event10EventFocus
dui.lib(Widget)
Error 42: Symbol Undefined __Class_5event5Event13EventProperty
dui.lib(Widget)
Error 42: Symbol Undefined
_D5event5Event13EventProperty5_ctorFPS5event5Event8GdkEventZC5event5Event13EventProperty
dui.lib(Widget)
Error 42: Symbol Undefined __Class_5event5Event14EventSelection
dui.lib(Widget)
Error 42: Symbol Undefined
_D5event5Event14EventSelection5_ctorFPS5event5Event8GdkEventZC5event5Event14EventSelection
dui.lib(Widget)
Error 42: Symbol Undefined __Class_5event5Event14EventProximity
dui.lib(Widget)
Error 42: Symbol Undefined
_D5event5Event14EventProximity5_ctorFPS5event5Event8GdkEventZC5event5Event14EventProximity
dui.lib(Widget)
Error 42: Symbol Undefined __Class_5event5Event15EventVisibility
dui.lib(Widget)
Error 42: Symbol Undefined
_D5event5Event15EventVisibility5_ctorFPS5event5Event8GdkEventZC5event5Event15EventVisibility
dui.lib(Widget)
Error 42: Symbol Undefined __Class_5event5Event11EventClient
dui.lib(Widget)
Error 42: Symbol Undefined
_D5event5Event11EventClient5_ctorFPS5event5Event8GdkEventZC5event5Event11EventClient
dui.lib(Widget)
Error 42: Symbol Undefined __Class_5event5Event16EventWindowState
dui.lib(Widget)
Error 42: Symbol Undefined
_D5event5Event16EventWindowState5_ctorFPS5event5Event8GdkEventZC5event5Event16EventWindowState
dui.lib(Widget)
Error 42: Symbol Undefined
_D3ddi6Cursor6Cursor5_ctorFC3ddi7Display7DisplayE10CursorTypeZC3ddi6Cursor6Cursor
dui.lib(Widget)
Error 42: Symbol Undefined __Class_3ddi6Cursor6Cursor
dui.lib(Widget)
Error 42: Symbol Undefined
_D5dango6Layout6Layout5_ctorFPS3def5Types11PangoLayoutZC5dango6Layout6Layout
dui.lib(Widget)
Error 42: Symbol Undefined __Class_5dango6Layout6Layout
dui.lib(Widget)
Error 42: Symbol Undefined
_D5dango7Context7Context5_ctorFPS3def5Types12PangoContextZC5dango7Context7Context
dui.lib(Widget)
Error 42: Symbol Undefined __Class_5dango7Context7Context
dui.lib(Widget)
Error 42: Symbol Undefined
_D5dango4Font4Font5_ctorFC4dool6String6StringZC5dango4Font4Font
dui.lib(Widget)
Error 42: Symbol Undefined __Class_5dango4Font4Font
dui.lib(Widget)
Error 42: Symbol Undefined
_D3ddi7WindowG7WindowG5_ctorFPS3def5Types9GdkWindowZC3ddi7WindowG7WindowG
dui.lib(Widget)
Error 42: Symbol Undefined __Class_3ddi7WindowG7WindowG
dui.lib(Widget)
Error 42: Symbol Undefined
_D3ddi7Display7Display5_ctorFPS3def5Types10GdkDisplayZC3ddi7Display7Display
dui.lib(Widget)
Error 42: Symbol Undefined __Class_3ddi7Display7Display
dui.lib(Widget)
Error 42: Symbol Undefined
_D3ddi6Visual6Visual5_ctorFPS3def5Types9GdkVisualZC3ddi6Visual6Visual
dui.lib(Widget)
Error 42: Symbol Undefined __Class_3ddi6Visual6Visual
dui.lib(Widget)
Error 42: Symbol Undefined
_D3ddi8Drawable8Drawable5_ctorFC3dui6Widget6WidgetZC3ddi8Drawable8Drawable
dui.lib(Widget)
Error 42: Symbol Undefined __Class_3ddi8Drawable8Drawable
dui.lib(Widget)
Error 42: Symbol Undefined _D3ddi2GC2GC5_ctorFPS3def5Types5GdkGCZC3ddi2GC2GC
dui.lib(Widget)
Error 42: Symbol Undefined __Class_3ddi2GC2GC
dui.lib(ObjectG)
Error 42: Symbol Undefined _D3ddi5Value5Value5_ctorFbZC3ddi5Value5Value
dui.lib(ObjectG)
Error 42: Symbol Undefined __Class_3ddi5Value5Value

E:\dante\DUI\src\installer>



October 13, 2004
Try separating the libs with a '+' rather than a '-'. Also, it will help to see what's wrong if a smaller example is done. Try typing the command line without the environment variables. It's hard to see what might be going wrong when there are dozens of arguments, environment variables, etc.


October 13, 2004
On Wed, 13 Oct 2004 12:12:40 +0000 (UTC), Ant wrote:

> After some hours spent with makefile and even digc
> (I like digc btw. just can't pass the libs(?))

BTW, in my *extremely* modified variant of dmake, now called 'build', I've used JCC's (I think) idea of pragmas to include libraries.

In the source code you can insert ...

 version(build) {
   pragma(link, MyLib1);
   pragma(link, MyLib2);
   pragma(link, MyLib3);
   pragma(link, MyLib4);
 }

and then the build utility will add these libraries to the link command line.

The utility is not quite ready for public veiwing yet as I'm still converting it from C idioms to D idioms.

-- 
Derek
Melbourne, Australia
October 14, 2004
In article <ckj63o$2r8a$1@digitaldaemon.com>, Ant says...
>
>After some hours spent with...

Ok, it's working now.
I don't know what is changed, I'm using '+' as the lib separator
and I changed the libs and lib locations order...
(This computer doesn't have other versions of dmd)

During this process I found out that compiling a batch of modules or module by module isn't the same thing for dmd.

On module by module I got "Forward reference" errors.
some of those were on template classes
moving the imports into the template classes bodies creashes
the compiler (I'll try to reproduce in a small example later tonight)
This is for both window and linux and, at least on linux,
is not new for dmd 0.102.

Ant

PS if you're waiting for DUI please be patient:
many widgets can be instanciated and displayed
but not Label (I have no clue why yet).


October 14, 2004
In article <ckj63o$2r8a$1@digitaldaemon.com>, Ant says...
>
>After some hours spent with...

Ok, it's working now, thank you.

I don't know what is changed, I'm using '+' as the lib separator
and I changed the libs and lib locations order...
(This computer doesn't have other versions of dmd)

During this process I found out that compiling a batch of modules or module by module isn't the same thing for dmd.

On module by module I got "Forward reference" errors.
some of those were on template classes
moving the imports into the template classes bodies creashes
the compiler (I'll try to reproduce in a small example later tonight)
This is for both window and linux and, at least on linux,
is not new for dmd 0.102.

Ant

PS if you're waiting for DUI please be patient:
many widgets can be instanciated and displayed
but not Label (I have no clue why yet).


October 15, 2004
In article <cklscf$2a27$1@digitaldaemon.com>, Ant says...
>
>PS if you're waiting for DUI please be patient:
>many widgets can be instanciated and displayed
>but not Label (I have no clue why yet).

As reported on the bugs group under "method not reached"
this has nothing to do with GTK+ or DUI
it's just a wrinkle on dmd.

Ant