linker warnings and errors with bindbc-glfw

Mike Parker aldacron at gmail.com
Fri Nov 9 19:40:15 UTC 2018


On Friday, 9 November 2018 at 18:19:22 UTC, Dennis wrote:

> Both work, albeit with a lot of warnings:
> libcmt.lib(initializers.obj) : warning LNK4098: defaultlib 
> 'msvcrt.lib' conflicts with use of other libs; use 
> /NODEFAULTLIB:library
> glfw3.lib(init.c.obj) : warning LNK4217: locally defined symbol 
> ___stdio_common_vsprintf imported in function __glfwInputError
> glfw3.lib(wgl_context.c.obj) : warning LNK4049: locally defined 
> symbol _calloc imported

This is a perennial annoyance when working with static libraries 
precompiled with Visual Studio on Windows. Some projects are 
configured one way, some another.


> But that's just a minor annoyance, the error is that there are 
> 82 unresolved externals.
>
> glfw3.lib(win32_init.c.obj) : error LNK2019: unresolved 
> external symbol __imp__RegisterDeviceNotificationW at 12 
> referenced in function _createHelperWindow
> glfw3.lib(win32_init.c.obj) : error LNK2019: unresolved 
> external symbol __imp__CreateWindowExW at 48 referenced in 
> function _createHelperWindow
> ...

When you link statically with a library, you have to link with 
all of its dependencies, too. For GLFW, you'll need User32.lib, 
gdi32.lib, and OpenGL32.lib, off the top of my head.

Any particular reason you want to avoid the DLL?



More information about the Digitalmars-d-learn mailing list