export symbols if msvc for shared lib, otherwise import lib of DLL is empty. Visual Studio hides symbols by default. WINDOWS_EXPORT_ALL_SYMBOLS is a workaround, the proper way would be to hide all symbols irrespective of compiler, and carefully export symbols of AMQP-CPP interface (it would require a massive modification of all public headers).