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
