Why does calling a struct constructor generate linker errors when using Better C?
    Stijn 
    stijn.herreman at telenet.be
       
    Sun Dec 24 01:20:17 UTC 2017
    
    
  
https://dlang.org/spec/betterc.html doesn't mention struct 
constructors not working, but I'm getting linker errors when 
trying to call a struct constructor.
Consider the following program betterc.d
     struct foo
     {
     }
     extern(C) void main()
     {
         auto bar = new foo();
     }
Compile with: dmd -c -m32 betterc.d -betterC
Link with: gcc -m32 betterc.o -Wl,--build-id=none -nostdlib -o 
"betterc.bin"
Linker output:
     betterc.o: In function `main':
     betterc.d:(.text.main[main]+0xa): undefined reference to 
`_d_newitemT'
     betterc.o:(.data._D22TypeInfo_S7betterc3foo6__initZ+0x0): 
undefined reference to `_D15TypeInfo_Struct6__vtblZ'
     collect2: error: ld returned 1 exit status
Is there a mistake in my code, or is the documentation lacking?
    
    
More information about the Digitalmars-d-learn
mailing list