digitalmars.D - help with link.exe (OT)
- Ant (194/194) Oct 13 2004 After some hours spent with makefile and even digc
- Walter (4/4) Oct 13 2004 Try separating the libs with a '+' rather than a '-'. Also, it will help...
- Derek (17/19) Oct 13 2004 BTW, in my *extremely* modified variant of dmake, now called 'build', I'...
- Ant (17/18) Oct 14 2004 Ok, it's working now.
- Ant (17/18) Oct 14 2004 Ok, it's working now, thank you.
- Ant (5/8) Oct 14 2004 As reported on the bugs group under "method not reached"
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 del *.map *.exe *.bak *.obj cd .. dmd -c -odinstaller -I.;\dante\dool\src;\dante\DUI\src installer\Installer.d cd :link 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 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\ \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>
Oct 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.
Oct 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
Oct 13 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).
Oct 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).
Oct 14 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
Oct 14 2004