digitalmars.D.ldc - unresolved external symbol _d_throwc
- Chris (19/19) Jan 17 2016 Hello
- David Nadlinger via digitalmars-d-ldc (7/16) Jan 17 2016 _d_throwc is a symbol from DMD's druntime implementation. This means
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 2016
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 2016
Indeed the gtkdgl lib was getting compiled by DMD for some reason, I got it working now. Thanks for the pointer.
Jan 18 2016
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 2016