www.digitalmars.com         C & C++   DMDScript  

digitalmars.D.ldc - unresolved external symbol _d_throwc

reply Chris <cdallacosta gmail.com> writes:
Hello

I downloaded LDC 17b1 to try and compile my little program with 
gtkd, under windows, 64 bits.

I compiled Gtkd 3.2.1 with this version of LDC and all went fine. 
Then I compiled my program and all went fine. However when it 
comes to linking I get these messages:

gtkdgl.lib(GLConfig_42_2e9.obj) : error LNK2019: unresolved 
external symbol _d_throwc referenced in function (mangled name) 
(glgdk.GLConfig.GLConfig 
glgdk.GLConfig.GLConfig.__ctor(gtkglc.glgdktypes.GdkGLConfigMode, 
gtkglc.glgdktypes.GdkGLConfigMode))
gtkdgl.lib(GLContext_43_378.obj) : error LNK2001: unresolved 
external symbol _d_throwc
gtkdgl.lib(GLWindow_71_30b.obj) : error LNK2001: unresolved 
external symbol _d_throwc

Searching for _d_throwc didn't yield any help, any ideas on how I 
could fix this?

FWIW, DMD2 works fine.

Thanks in advance.
Jan 17
parent reply David Nadlinger via digitalmars-d-ldc <digitalmars-d-ldc puremagic.com> writes:
Hi Chris,

On 18 Jan 2016, at 7:11, Chris via digitalmars-d-ldc wrote:
 gtkdgl.lib(GLConfig_42_2e9.obj) : error LNK2019: unresolved external 
 symbol _d_throwc referenced in function (mangled name) 
 (glgdk.GLConfig.GLConfig 
 glgdk.GLConfig.GLConfig.__ctor(gtkglc.glgdktypes.GdkGLConfigMode, 
 gtkglc.glgdktypes.GdkGLConfigMode))
 gtkdgl.lib(GLContext_43_378.obj) : error LNK2001: unresolved external 
 symbol _d_throwc
 gtkdgl.lib(GLWindow_71_30b.obj) : error LNK2001: unresolved external 
 symbol _d_throwc
_d_throwc is a symbol from DMD's druntime implementation. This means that you are most likely trying to link code compiled with LDC against code compiled with DMD (gtkdgl.lib). Since the two compilers are not ABI-compatible, this is not supported. — David
Jan 17
parent reply Chris <cdallacosta gmail.com> writes:
Indeed the gtkdgl lib was getting compiled by DMD for some 
reason, I got it working now. Thanks for the pointer.
Jan 18
parent Joakim <dlang joakim.fea.st> writes:
On Monday, 18 January 2016 at 15:08:30 UTC, Chris wrote:
 Indeed the gtkdgl lib was getting compiled by DMD for some 
 reason, I got it working now. Thanks for the pointer.
I highly recommend Dscanner for finding such D symbol definitions: https://github.com/Hackerpilot/Dscanner/ It's the only D tool I built and keep lying around on my Android tablet, which I'm using for some development nowadays. Running Dscanner on the ldc source on my tablet quickly found the file: $ ./dscanner -d _d_throwc ldc/ ldc/runtime/druntime/src/rt/deh_win64_posix.d(217:17)
Jan 18