How-to compile WinRT debug source code

Oct 5, 2011 at 2:34 AM

Hi Author:

Thanks a lot for your output to allow us to debug with package in WinRT system. I tried to understand the implementation behind.

But after I downloaded the source code to my local win8 environment and tried to compile it with VS2011 developer preview, failed[preview seems just support wmaproj type].

with VS2010 in win8, I met with the following error: [I try to find ALT header and Windows 8 SDK with ShObjIdl.h, in Windows 7.0 SDK, there is one header file named after C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\Include\ShObjIdl.h]

seems some header files are missing in my installation,I can't even find in windows 8 SDK, but in windows 7 SDK...

********************************Missing ALT Header File****************************************

//TODO : In stdafx.h -> C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\atlmfc\include


#include <atlbase.h>
#include <atlstr.h>

*******************************Missing ShObjIdl.h*****************************************

//TODO : C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\Include\ShObjIdl.h -> In Windows 7 SDK header, but I don't think I should use it
#include <ShObjIdl.h>

I tried to compile project with ALT header file in VS2010, However, as windows 7 SDK don't have ShObjIdl.h with correct IPackageDebugSettings interface.

Of course, it failed, Could you help me a hand for this?

Thanks again for your help and output for us to understand how winRT work. ^_^

Oct 7, 2011 at 9:55 AM

first of all stay sure to have installed Visual Studio 11 Ultimate.

The preinstalled express edition only deals with metro-style apps while this utility is a pure Win32 Console COM/ATL application.
I installed also the Device Driver Kit, but it should not be necessary to compile my app.

Anyway the complete path for shobjidl.h is the following:
C:\Program Files (x86)\Windows Kits\8.0\Include\um\ShObjIdl.h

Let me know if you still have problem in compiling it.

P.S. the binary release is currently version 1.0, while the sources are version 1.1.
There are no difference in functionality but only a few changes in order to respect modern C++ best practices.