digitalmars.D - Link Error, Can't determine problem.
- Joshua Cearley (62/62) Apr 18 2005 First, a little background:
- Derek Parnell (9/72) Apr 18 2005 I suspect that the name of the library needs to be given to the link
- Joshua Cearley (9/9) Apr 18 2005 Hmm... lol
First, a little background: The project is called Crystal Widgets Library, it aims to be a very powerful and modular toolkit for D programmers. The project uses Rake (rake.rubyforge.org) for the build file. On Linux, the project compiles and links without a hitch (using GDC for linux version). On Windows, I'm using cygwin for ruby/rake as I prefer a linux type console to window's weak console (you can't pipe with windows' or at least i haven't figured out how to). Cygwin isn't using GDC, its using DMD. Everything compiles fine but it won't link the test application. Now for the technical stuff: dmd is version 0.113, linker is the dmc linker 7.50B1 (System is Windows XP Service Pack 1) Oh and my main drive is E: instead of C: due to some snafu in installation. Backtrace: <Open Cygwin> $ cd /cygdrive/e/projects/cwl (equivalent to cd E:\projects\cwl) $ rake examples (in /cygdrive/e/projects/cwl) /cygdrive/e/dmd/dmd/bin/dmd.exe -Isource/ -debug -unittest -c -ofbuild/cwl/core/serializable.obj source/cwl/core/serializable.d /cygdrive/e/dmd/dmd/bin/dmd.exe -Isource/ -debug -unittest -c -ofbuild/cwl/core/widget.obj source/cwl/core/widget.d /cygdrive/e/dmd/dmd/bin/dmd.exe -Isource/ -debug -unittest -c -ofbuild/cwl/core/app.obj source/cwl/core/app.d lib -c build/lib/CWL_core.lib build/cwl/core/serializable.obj build/cwl/core/widget.obj build/cwl/core/app.obj /cygdrive/e/dmd/dmd/bin/dmd.exe -c -Isource/ -debug -unittest -ofbuild/cwl/examples/testonly.obj source/cwl/examples/testonly.d /cygdrive/e/dmd/dmd/bin/dmd.exe -Isource/ -debug -unittest build/bin/testonly.exe build/cwl/examples/testonly.obj Digital Mars Librarian Version 8.00n Copyright (C) Digital Mars 2000-2002 All Rights Reserved www.digitalmars.com Digital Mars Librarian complete. e:\dmd\dmd\bin\..\..\dm\bin\link.exe build\cwl\examples\testonly,build\bin\testonly.exe,,user32+kernel32/noi; OPTLINK (R) for Win32 Release 7.50B1 Copyright (C) Digital Mars 1989 - 2001 All Rights Reserved build\cwl\examples\testonly.obj(testonly) Error 42: Symbol Undefined _D3cwl4core6widget6Widget14loadFromStreamFC3std6stream11InputStreamZv build\cwl\examples\testonly.obj(testonly) Error 42: Symbol Undefined _D3cwl4core6widget6Widget12saveToStreamFC3std6stream12OutputStreamZv build\cwl\examples\testonly.obj(testonly) Error 42: Symbol Undefined __Class_3cwl4core6widget6Widget build\cwl\examples\testonly.obj(testonly) Error 42: Symbol Undefined _D3cwl4core6widget6Widget5_ctorFZC3cwl4core6widget6Widget --- errorlevel 4 rake aborted! Command failed with status (4): [/cygdrive/e/dmd/dmd/bin/dmd.exe -Isource/ -debug -unittest build/bin/testonly.exe build/cwl/examples/testonly.obj] ./rakefile.rb:44 I haven't been able to figure out the source of the problem, it looks like it isn't noticing the widget.d file thats in CWL_core.lib. Any help is greatly appreciated. Let me know if more information is needed and I will gladly suplly it. -- Joshua Cearley BlackCrystal Software "Making dreams reality"
Apr 18 2005
On Mon, 18 Apr 2005 21:04:13 -0500, Joshua Cearley wrote:First, a little background: The project is called Crystal Widgets Library, it aims to be a very powerful and modular toolkit for D programmers. The project uses Rake (rake.rubyforge.org) for the build file. On Linux, the project compiles and links without a hitch (using GDC for linux version). On Windows, I'm using cygwin for ruby/rake as I prefer a linux type console to window's weak console (you can't pipe with windows' or at least i haven't figured out how to). Cygwin isn't using GDC, its using DMD. Everything compiles fine but it won't link the test application. Now for the technical stuff: dmd is version 0.113, linker is the dmc linker 7.50B1 (System is Windows XP Service Pack 1) Oh and my main drive is E: instead of C: due to some snafu in installation. Backtrace: <Open Cygwin> $ cd /cygdrive/e/projects/cwl (equivalent to cd E:\projects\cwl) $ rake examples (in /cygdrive/e/projects/cwl) /cygdrive/e/dmd/dmd/bin/dmd.exe -Isource/ -debug -unittest -c -ofbuild/cwl/core/serializable.obj source/cwl/core/serializable.d /cygdrive/e/dmd/dmd/bin/dmd.exe -Isource/ -debug -unittest -c -ofbuild/cwl/core/widget.obj source/cwl/core/widget.d /cygdrive/e/dmd/dmd/bin/dmd.exe -Isource/ -debug -unittest -c -ofbuild/cwl/core/app.obj source/cwl/core/app.d lib -c build/lib/CWL_core.lib build/cwl/core/serializable.obj build/cwl/core/widget.obj build/cwl/core/app.obj /cygdrive/e/dmd/dmd/bin/dmd.exe -c -Isource/ -debug -unittest -ofbuild/cwl/examples/testonly.obj source/cwl/examples/testonly.d /cygdrive/e/dmd/dmd/bin/dmd.exe -Isource/ -debug -unittest build/bin/testonly.exe build/cwl/examples/testonly.obj Digital Mars Librarian Version 8.00n Copyright (C) Digital Mars 2000-2002 All Rights Reserved www.digitalmars.com Digital Mars Librarian complete. e:\dmd\dmd\bin\..\..\dm\bin\link.exe build\cwl\examples\testonly,build\bin\testonly.exe,,user32+kernel32/noi; OPTLINK (R) for Win32 Release 7.50B1 Copyright (C) Digital Mars 1989 - 2001 All Rights Reserved build\cwl\examples\testonly.obj(testonly) Error 42: Symbol Undefined _D3cwl4core6widget6Widget14loadFromStreamFC3std6stream11InputStreamZv build\cwl\examples\testonly.obj(testonly) Error 42: Symbol Undefined _D3cwl4core6widget6Widget12saveToStreamFC3std6stream12OutputStreamZv build\cwl\examples\testonly.obj(testonly) Error 42: Symbol Undefined __Class_3cwl4core6widget6Widget build\cwl\examples\testonly.obj(testonly) Error 42: Symbol Undefined _D3cwl4core6widget6Widget5_ctorFZC3cwl4core6widget6Widget --- errorlevel 4 rake aborted! Command failed with status (4): [/cygdrive/e/dmd/dmd/bin/dmd.exe -Isource/ -debug -unittest build/bin/testonly.exe build/cwl/examples/testonly.obj] ./rakefile.rb:44 I haven't been able to figure out the source of the problem, it looks like it isn't noticing the widget.d file thats in CWL_core.lib. Any help is greatly appreciated. Let me know if more information is needed and I will gladly suplly it.I suspect that the name of the library needs to be given to the link command, otherwise how would it know to look in that library? -- Derek Parnell Melbourne, Australia http://www.dsource.org/projects/build/ v2.01 released 18/Apr/2005 http://www.prowiki.org/wiki4d/wiki.cgi?FrontPage 19/04/2005 12:22:35 PM
Apr 18 2005
Hmm... lol That was the problem that was keeping me stumped. Apparently I forgot to put it in when i rewrite the build command. Before it was build/bin/CWL_core.lib which explains why it couldn't find it. LOL. LOL. ROFL. -- Joshua Cearley BlackCrystal Software "Making dreams reality"
Apr 18 2005