在我的 CLR 项目中添加包含使得 WLR 无法在启用 /clr 的情况下进行编译

Adding includes in my CLR project gives WLR cannot be compiled with /clr enabled

// This is the main DLL file.

#include "stdafx.h"

#include "Tga2DCLI.h"
//#include <Game.h>
#include <Windows.h>
Tga2DCLI::Tga2DGame::Tga2DGame()
{
    //myGame = new CGame();
}

void Tga2DCLI::Tga2DGame::Init(System::String ^ aVersion, System::IntPtr aHWND)
{
    HWND convertedHWND = reinterpret_cast<HWND>(aHWND.ToInt64());
    //myGame->Init(L"", convertedHWND);
}

#include <Game.h> 没有被注释掉时会导致错误 C1189 #error: 无法在启用 /clr 选项的情况下编译 WRL

我正在尝试创建一个 windows 表单 (C#) 在图片框中显示游戏引擎 运行 游戏引擎是 C++ 的,代码片段来自我的 c++/clr解决方案中的项目。

我的问题是我不太了解 WRL 错误?所以我不明白如何得到它运行。我需要游戏包含来初始化引擎,以 windows 形式获取它 运行。

Windows 运行时 C++ 模板库 (WRL) 与 C++/CLI 不兼容。

使用 WRL 进行编译需要使用 .NET 所需的 /ZW option. And this language extension is simply incompatible with the /CLR

WRL 更接近 COM 而不是 .NET。