std.boxer broken?

David L. Davis SpottedTiger at yahoo.com
Fri Apr 14 06:37:46 PDT 2006


In article <e1nc14$1gb5$1 at digitaldaemon.com>, Daniel Keep says...
>
>
>Oh, look--it's me and something's not working again :P
>
>Ok, I'm using dmd 0.153 and the included phobos.  When I try to compile
>the following:
>
>import std.boxer;
>import std.stdio;
>
>int main()
>{
>    Box x = box(42);
>    writefln("The answer to life, the universe, "
>            "and everything is: %d", unbox!(int)(x));
>
>    return 0;
>}
>
>I get the following error message:
>
>e:\Bin\Bin\link.exe boxtest,,,user32+kernel32/noi;
>OPTLINK (R) for Win32  Release 7.50B1
>Copyright (C) Digital Mars 1989 - 2001  All Rights Reserved
>
>boxtest.obj(boxtest)
> Error 42: Symbol Undefined _assert_3std5boxer
>--- errorlevel 1
>
>Anyone have any idea what I stuffed up?  Other stuff, including
>writefln, seems to work fine (well, apart from MinTL but we've already
>covered that one), so I'm fairly sure it's linking in phobos.lib properly.
>
>Any advice would be greatly appreciated.
>
>	-- Daniel.

Daniel, adding the "extern (C) void assert_3std5boxer() { }" line below which
Burton shared with us many moons ago will also work (without the need for
-release switch) and you can add unittests as well.

# // daniel1.d - tested with WinXP SP1 D v0.154
# // Unittest: dmd daniel1.d -unittest
# // Compile : dmd daniel1.d
#
# private import std.boxer;
# private import std.stdio;
#
# // Burton Radons <burton-radons[at]smocky[dot]com>
# // This entry allows -unittest for testing, and/or no need 
# // for the -release switch
# extern (C) void assert_3std5boxer() { }
#
# int main()
# {
#     Box x = box(42);
#     writefln("The answer to life, the universe, "
#             "and everything is: %d", unbox!(int)(x));
#
#     return 0;
# }
#
# unittest
# {
#     Box x = box(42);
#     assert(42 == unbox!(int)(x));
#     writefln("unittest done.");	
# }

Output:
------------
C:\dmd>dmd daniel1.d
C:\dmd\bin\..\..\dm\bin\link.exe daniel1,,,user32+kernel32/noi;

C:\dmd>daniel1
The answer to life, the universe, and everything is: 42

C:\dmd>


David L.

-------------------------------------------------------------------
"Dare to reach for the Stars...Dare to Dream, Build, and Achieve!"
-------------------------------------------------------------------

MKoD: http://spottedtiger.tripod.com/D_Language/D_Main_XP.html



More information about the Digitalmars-d mailing list