www.digitalmars.com         C & C++   DMDScript  

digitalmars.D.ide - Visual D "Multiple object files" TypeInfo errors

reply Alex <AJ gmail.com> writes:
"There is a multiple objects file option but for some reason it 
causes the project to fail with unresolved externals from 
TypeInfo.* so I have no idea if it actually does anything or not."

When trying the option to maybe speed of compilation I get a 
bunch of errors:

error LNK2001: unresolved external symbol 
"TypeInfo_S3std5range__T6RepeatTAyaZQm.__init" 
(_D37TypeInfo_S3std5range__T6RepeatTAyaZQm6__initZ)
phobos64.lib(timezone_342c_37a.obj) : error LNK2019: unresolved 
external symbol tzset referenced in function "nothrow  nogc  safe 
bool std.datetime.timezone.LocalTime.singleton().__lambda3()" 
(_D3std8datetime8timezone9LocalTime9singletonFNeZ9__lambda3FNbNiNfZb)
fatal error LNK1120: 81 unresolved externals

Compiles fine without the option.
Apr 22 2019
parent Rainer Schuetze <r.sagitario gmx.de> writes:
On 23/04/2019 02:12, Alex wrote:
 "There is a multiple objects file option but for some reason it causes
 the project to fail with unresolved externals from TypeInfo.* so I have
 no idea if it actually does anything or not."
That option enables "-multiobj" on the dmd command line. It's undocumented and mimicks what happens when building a library (but keeps the object files instead of packaging them into the library). I guess not all of these object files are linked in that case. I should remove that option.
 
 When trying the option to maybe speed of compilation I get a bunch of
 errors:
 
 error LNK2001: unresolved external symbol
 "TypeInfo_S3std5range__T6RepeatTAyaZQm.__init"
 (_D37TypeInfo_S3std5range__T6RepeatTAyaZQm6__initZ)
 phobos64.lib(timezone_342c_37a.obj) : error LNK2019: unresolved external
 symbol tzset referenced in function "nothrow  nogc  safe bool
 std.datetime.timezone.LocalTime.singleton().__lambda3()"
 (_D3std8datetime8timezone9LocalTime9singletonFNeZ9__lambda3FNbNiNfZb)
 fatal error LNK1120: 81 unresolved externals
 
 Compiles fine without the option.
 
 
Apr 22 2019