Trouble with static linking

Essoje Oliveira de Almeida Essoje_member at
Mon Feb 20 14:23:29 PST 2006

I have a X68Sound.dll (not mine) that I'd like to use in my project, but I can't
get it to link, and being a beginner D programmer doesn't help me much. I know
I've used implib as "implib /system x68sound.lib x68sound.def" to create a
library and tried to link it as it follows. The .lib, .def, and .dll and all in
the same directory as the rest of the code.

This is DDA.d
module dda;

import std.stdio;
import X68Sound;

int main()
int ret;

ret = X68Sound_Start();

return 0;

And this one is x68sound.d
module X68Sound;

export int X68Sound_Start(int samprate=44100, int opmflag=1, int adpcmflag=1,
int betw=5, int pcmbuf=5, int late=200, double rev=1.0);
export void X68Sound_Free();

And this guys is X68Sound.def
LIBRARY    "X68Sound.dll"
DESCRIPTION "X68k Sound Generator"
X68Sound_Start		@1
X68Sound_Samprate	@2
X68Sound_Reset		@3
X68Sound_Free		@4
X68Sound_BetwInt	@5

X68Sound_StartPcm	@6
X68Sound_GetPcm		@7

X68Sound_OpmPeek	@8
X68Sound_OpmReg		@9
X68Sound_OpmPoke	@10
X68Sound_OpmInt		@11
X68Sound_OpmWait	@12
X68Sound_OpmClock	@13

X68Sound_AdpcmPeek	@14
X68Sound_AdpcmPoke	@15
X68Sound_PpiPeek	@16
X68Sound_PpiPoke	@17
X68Sound_PpiCtrl	@18
X68Sound_DmaPeek	@19
X68Sound_DmaPoke	@20
X68Sound_DmaInt		@21
X68Sound_DmaErrInt	@22
X68Sound_MemReadFunc	@23

X68Sound_WaveFunc	@24

X68Sound_Pcm8_Out	@25
X68Sound_Pcm8_Aot	@26
X68Sound_Pcm8_Lot	@27
X68Sound_Pcm8_SetMode	@28
X68Sound_Pcm8_GetRest	@29
X68Sound_Pcm8_GetMode	@30
X68Sound_Pcm8_Abort	@31

X68Sound_TotalVolume	@32

X68Sound_ErrorCode	@33
X68Sound_DebugValue	@34

And finally this is what I get...
C:\Proj\DDS>dmd dda.d x68sound.lib
C:\dm\bin\link.exe dda,,,x68sound.lib+user32+kernel32/noi;
OPTLINK (R) for Win32  Release 7.50B1
Copyright (C) Digital Mars 1989 - 2001  All Rights Reserved

Error 42: Symbol Undefined _D8X68Sound14X68Sound_StartFiiiiiidZi
Error 42: Symbol Undefined _D8X68Sound13X68Sound_FreeFZv

Please enlight me in this.
Thanks in advance,

More information about the Digitalmars-d-learn mailing list