private interface does not link

Daniel Keep daniel.keep.lists at gmail.com
Thu Aug 30 16:54:57 PDT 2007



Myron Alexander wrote:
> Hello.
> 
> I have an interface that I made private as the interface is module
> specific. For this example, I created the smallest test code that
> exhibits the problem.
> 
> I can compile the source but when it links, I get:
> 
>> F:\opt\digitalmars\dmd\bin\..\..\dm\bin\link.exe
>> main,,,user32+kernel32/noi;
>> OPTLINK (R) for Win32  Release 7.50B1
>> Copyright (C) Digital Mars 1989 - 2001  All Rights Reserved
>>
>> main.obj(main)
>>  Error 42: Symbol Undefined _D4main15ConnectionState10checkStateMFZb
>> --- errorlevel 1
> 
> If I remove the private attribute from the interface, it works.
> 
> I am using DMD 1.020. Is this a DMD bug?
> 
> Thanks,
> 
> Myron.

I had the same issue several months ago.  Took me about four days to
work out why my code wasn't linking.

I'm pretty sure this is a DMD bug; it's clearly generating a reference
to the ConnectionState.checkState function which *doesn't exist*.

That said, I never got around to filing a bug for it since I was swamped
at the time.

	-- Daniel


More information about the Digitalmars-d-learn mailing list