Trying to build a softphone source (microsip) with Visual Studio 2008, but the windows jumplist classes are not being identified.
Line 19 gives an error because ICustomDestinationList is not being recognized
c:\users\gremblin\downloads\microsip-3.9.2-src\microsip-3.9.2-src\jumplist.h(19)
: error C2143: syntax error : missing ';' before '*'
1. #ifndef jumplist_h__
2. #define jumplist_h__
3.
4. #include <string>
5. #include <shobjidl.h>
6. #include <propkey.h>
7. #include <propvarutil.h>
8.
9. class JumpList
10. {
11. public:
12. JumpList(std::wstring AppID);
13. ~JumpList();
14. bool DeleteJumpList();
15. void AddTasks();
16.
17. private:
18. HRESULT _CreateShellLink(PCWSTR pszArguments, PCWSTR pszTitle, IShellLinkW **ppsl, int iconindex = -1);
19. ICustomDestinationList *pcdl;
20. };
#endif // jumplist_h__
Am I missing something? As far as I know jumplist functions are all in "shobjidl.h"
shobjidl.hdefinesICustomDestinationListonly whenNTDDI_VERSION >= NTDDI_WIN7, so the compiler will complain ifNTDDI_VERSIONis not set to Windows 7 or higher.NTDDI_VERSIONis defined by default insdkddkver.h:So either define
NTDDI_VERSIONyourself in your project, or define_WIN32_WINNTto an appropriate value and let it propagate toNTDDI_VERSION.Refer to MSDN for how
_WIN32_WINNTrelates toNTDDI_VERSION:Using Windows Headers