Incomprehensible compiler errors

Gor Gyolchanyan gor.f.gyolchanyan at gmail.com
Mon Jul 30 09:38:43 PDT 2012


On Mon, Jul 30, 2012 at 8:31 PM, Stuart <stugol at gmx.com> wrote:

> I'm trying to write an actual program in D, but no matter what I do I get
> stupid errors that mean nothing to me. (Reminds me of C++)
>
>    Error 42: Symbol Undefined
>    _**D8infinity8standard7runtime4IA**pp4IApp11__InterfaceZ
>
> Huh? This usually happens if I omit the module statement at the top of
> EVERY DAMN FILE (why???) but in this case I haven't omitted it, yet I'm
> still getting the error.
>
> Also, I get the following error:
>
>    Error 42: Symbol Undefined
>    _D3dfl8internal6winapi12__**ModuleInfoZ
>
> The code producing this second error is:
>
>         int Run() {
>                 import core.sys.windows.windows;
>                 import dfl.internal.winapi;
>                 MSG msg;
>                 while (GetMessageA(&msg, null, 0, 0)) {
>                         TranslateMessage(&msg);
>                         DispatchMessageA(&msg);
>                         if (msg.hwnd && !IsWindow(msg.hwnd)) break;
>                 }
>                 return 0;
>         }
>
> What the HELL is this "ModuleInfo", why is it necessary, why is it always
> missing when a "module" statement is not present, and why is it missing NOW?
>

For one, it would be mighty polite of the compiler to demangle the "_**
D8infinity8standard7runtime4IA**pp4IApp11__InterfaceZ", which happens to be
"infinity.standard.runtime.App.App.__Interface".

The ModuleInfo is a half-working runtime reflection structure, which the
compiler successfully fails to build when you omit the optional module
declaration.

-- 
Bye,
Gor Gyolchanyan.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.puremagic.com/pipermail/digitalmars-d/attachments/20120730/fd0da9a0/attachment.html>


More information about the Digitalmars-d mailing list