What is a good strategy for finding undefined symbols...

Sean Kelly sean at invisibleduck.org
Fri May 11 14:53:45 PDT 2012


On May 11, 2012, at 1:56 PM, WhatMeWorry wrote:

> I've been trying to compile the DerelictGL and finally got it to compile cleanly. But now the linker is complaining.
> 
> I've been "searching" for hours for these definitions and I feel like I've just been going around in circles.
> 
> What is a novice to do?   Is this just something I am supposed to know before hand?
> 
> 
> C:\D\dmd2\windows\bin\link.exe gl,,nul,user32+kernel32/noi;
> OPTLINK (R) for Win32  Release 8.00.12
> Copyright (C) Digital Mars 1989-2010  All rights reserved.
> http://www.digitalmars.com/ctg/optlink.html
> gl.obj(gl)
> Error 42: Symbol Undefined __d_framehandler
> gl.obj(gl)
> Error 42: Symbol Undefined __d_throwc

_d_anything will be defined in Druntime, which is bundled into the Phobos library.  Maybe your library path is wrong and DMD can't find Phobos?


> gl.obj(gl)
> Error 42: Symbol Undefined __tls_array

I think the compiler generates this.  It'd a Druntime thing also.


> gl.obj(gl)
> Error 42: Symbol Undefined _D8derelict4util7wrapper9toDStringFPaZAa

derelict.wrapper.toDString(blah)

Feed mangled names into core.demangle to get a readable string.

> gl.obj(gl)
> Error 42: Symbol Undefined _D9Exception7__ClassZ
> gl.obj(gl)
> Error 42: Symbol Undefined _glGetString
> gl.obj(gl)
> Error 42: Symbol Undefined _D8derelict4util7wrapper7findStrFAaAaZi
> gl.obj(gl)
> Error 42: Symbol Undefined _wglGetCurrentContext

Not linking OpenGL maybe?


> gl.obj(gl)
> Error 42: Symbol Undefined _D11TypeInfo_Aa6__initZ
> gl.obj(gl)
> Error 42: Symbol Undefined _D8derelict4util9exception17DerelictException7__ClassZ
> gl.obj(gl)
> Error 42: Symbol Undefined __d_arraycatnT
> gl.obj(gl)
> Error 42: Symbol Undefined _D12TypeInfo_Aya6__initZ
> gl.obj(gl)

Mostly Druntime again.


More information about the Digitalmars-d-learn mailing list