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.h
definesICustomDestinationList
only whenNTDDI_VERSION >= NTDDI_WIN7
, so the compiler will complain ifNTDDI_VERSION
is not set to Windows 7 or higher.NTDDI_VERSION
is defined by default insdkddkver.h
:So either define
NTDDI_VERSION
yourself in your project, or define_WIN32_WINNT
to an appropriate value and let it propagate toNTDDI_VERSION
.Refer to MSDN for how
_WIN32_WINNT
relates toNTDDI_VERSION
:Using Windows Headers