>>>> 'shlguid.h' will expand to a definition at not only a declaration and the linker can use it for linking.
if the cpp file where you set #define INITGUID uses precompiled header (PCH) via stdafx.h the INITGUID might be ignored or the header file wouldn't be included cause it is already included by stdafx.h.
To fix that you should add a new cpp file to your project that contains nothing but
as jkr has explained above. To get it compiled you have to right-click the new cpp file in the project (or solution) tree and switch off PCH in the C++ tab of the settings (properties) for that file.
#define INITGUID
#include <initguid.h>
#include <shlguid.h>
in *one* of your source files so that the
DEFINE_GUID(CLSID_ToolbarE
(for example) in 'shlguid.h' will expand to a definition at not only a declaration and the linker can use it for linking.