Skip to content

Can't compile WinRT application #16

Open
@altk

Description

@altk

Hello!!!
I tried to compile my WinRT application(fully written on C++, not C++/CX) with "CLang 3.7 with Microsoft Codegen (v140_clang_3_7)", but could not. I use Visual Studio 2015 Update 2 with March 2016 CLang.
Errors:

  1. C:\Program Files (x86)\Windows Kits\10\Include\10.0.10240.0\winrt\windows.foundation.collections.h(168,10): error : ISO C++ forbids forward references to 'enum' types
    enum CollectionsChange;
  2. C:\Program Files (x86)\Windows Kits\10\Include\10.0.10240.0\winrt\Windows.Foundation.h(8831,26): error : ISO C++ forbids forward references to 'enum' types
    typedef enum PropertyType PropertyType;

Another issue produced when compiling template
`template
struct NOVTABLE RemoveIUnknown abstract : TInterface
{
static_assert(std::is_base_of<IUnknown, TInterface>::value, "TInterface must inherit IUnknown");

operator TInterface*() NOEXCEPT
{
    return this;
}

private:
STDMETHODIMP_(ULONG) AddRef();
STDMETHODIMP_(ULONG) Release();
STDMETHODIMP QueryTInterface(IID, void **);
};`

variable has incomplete type 'struct RemoveIUnknown'
RemoveIUnknown abstract : TInterface

There were many others errors, but I think, that listed above are the most interesting.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions