Incomprehensible compiler errors

Alex Rønne Petersen alex at lycus.org
Mon Jul 30 09:40:53 PDT 2012


On 30-07-2012 18:38, Gor Gyolchanyan wrote:
> On Mon, Jul 30, 2012 at 8:31 PM, Stuart <stugol at gmx.com
> <mailto: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

linker

> 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.

-- 
Alex Rønne Petersen
alex at lycus.org
http://lycus.org


More information about the Digitalmars-d mailing list