Trouble with static linking

Essoje Oliveira de Almeida Essoje_member at pathlink.com
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();
X68Sound_Free();

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"
EXPORTS
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

C:\DMD\BIN\..\lib\phobos.lib(dmain2)
Error 42: Symbol Undefined _D8X68Sound14X68Sound_StartFiiiiiidZi
C:\DMD\BIN\..\lib\phobos.lib(dmain2)
Error 42: Symbol Undefined _D8X68Sound13X68Sound_FreeFZv
******************

Please enlight me in this.
Thanks in advance,
Essoje





More information about the Digitalmars-d-learn mailing list