On 30-07-2012 18:38, Gor Gyolchanyan wrote:
On Mon, Jul 30, 2012 at 8:31 PM, Stuart <[email protected]
<mailto:[email protected]>> 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
[email protected]
http://lycus.org

Reply via email to