Undefined references when linking to C library

Peter Federighi pfederighi at yahoo.com
Wed Dec 22 19:25:35 PST 2010


Hello all.

I'm writing a simple terminal game (that will eventually be turned into a
simple SDL game) and thought I would add mouse support via libgpm.  So, I
converted gpm.h into gpm.d.  Perhaps I didn't do this correctly because I get
several undefined references when trying to link.

Here's an example:
The original gpm.h says:
extern int gpm_zerobased;
extern unsigned char    _gpm_buf[];
extern unsigned short * _gpm_arg;

My gpm.d says:
extern int gpm_zerobased;
extern char*  _gpm_buf;
extern ushort* _gpm_arg;

When running 'dmd gev.d gpm.d -L-lgpm', I get:
gpm.d:(.text._D3gpm15Gpm_DrawPointerFiiiZv+0x12): undefined reference to
`_D3gpm8_gpm_bufPa'
gpm.d:(.text._D3gpm15Gpm_DrawPointerFiiiZv+0x26): undefined reference to
`_D3gpm13gpm_zerobasedi'
gpm.d:(.text._D3gpm15Gpm_DrawPointerFiiiZv+0x34): undefined reference to
`_D3gpm8_gpm_argPt'

Does anyone have any ideas?

Thank you,
- Peter


More information about the Digitalmars-d-learn mailing list