visual-c++dlllinkershared-libraries

Visual Studio: ignore undefined references in shared libraries


I wish to compile a project that makes use of a shared library, but I do not have access to the original lib files. I do however, have the original interface...

All I basically want is to have the compiler do symbol name mangling etc. so I don't have to manually call into GetProcAddress...

Visual Studio however, complains about undefined references (duh) when I don't link against the shared lib.... With GNU LD I could use 'allow-shlib-undefined' but unfortunately I must make use of MSVC++... Is there something similar?

edit:

Of course, I could make a fake (proxy) dll, create stubs for all the methods found in my interface, link against that, and then load the original dll. I don't know if that's the best solution though...

edit2:

Looks like I can just export symbols and generate a lib file: http://www.coderetard.com/2009/01/21/generate-a-lib-from-a-dll-with-visual-studio/

I'll try that first and report back.


Solution

  • Try to investigate "Edll for Windows" (home) implementation:

    EnhancedDLL -- to have plugins and libraries with undefined symbols

    It discovers 4 solutions to overcome DLL limitations: "The usual solution", "The sub-DLL solution", "The .def &.a solution" and "The edll solution".