can't compile a simple class

Patrick Tinkham patrick_tinkham at yahoo.com
Sat Mar 23 14:12:24 PDT 2013


On Saturday, 23 March 2013 at 21:08:39 UTC, Namespace wrote:
> On Saturday, 23 March 2013 at 21:04:25 UTC, Patrick Tinkham 
> wrote:
>> Sorry for the question. I am a n00b to D. I tried to compile 
>> the following code from Alexandrescu's book:
>>
>> import std.stdio;
>> class A {
>>  int x = 42;
>> }
>>
>> unittest {
>>  auto a1 = new A;
>>  assert (a1.x == 42);
>>  auto a2 = a1;
>>  a2.x = 100;
>>  assert (a1.x == 100);
>> }
>>
>> at the command line:
>>
>> /d$ dmd c.d
>> /usr/lib/i386-linux-gnu/libphobos2.a(dmain2_473_1a5.o): In 
>> function `main':
>> src/rt/dmain2.d:(.text.main+0x4): undefined reference to 
>> `_Dmain'
>> /usr/lib/i386-linux-gnu/libphobos2.a(deh2_453_525.o): In 
>> function `_D2rt4deh213__eh_finddataFPvZPS2rt4deh29FuncTable':
>> src/rt/deh2.d:(.text._D2rt4deh213__eh_finddataFPvZPS2rt4deh29FuncTable+0x4): 
>> undefined reference to `_deh_beg'
>> src/rt/deh2.d:(.text._D2rt4deh213__eh_finddataFPvZPS2rt4deh29FuncTable+0xc): 
>> undefined reference to `_deh_beg'
>> src/rt/deh2.d:(.text._D2rt4deh213__eh_finddataFPvZPS2rt4deh29FuncTable+0x12): 
>> undefined reference to `_deh_end'
>>
>> ...
>>
>> plus much more encrypted Klingon.
>>
>> Help?
>
> You need a main function:
>
> import std.stdio;
> class A {
>   int x = 42;
> }
>
> unittest {
>   auto a1 = new A;
>   assert (a1.x == 42);
>   auto a2 = a1;
>   a2.x = 100;
>   assert (a1.x == 100);
> }
>
> void main() { }

Thank you!!! (I guess I'm just accustomed to stand-alone classes 
in Java...)


More information about the Digitalmars-d mailing list