gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-11-28 05:02:01 26 4
gpt4 key购买 nike

// 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++,代码片段来 self 的解决方案中的 c++/clr 项目。

我的问题是我不太了解 WRL 错误?所以我不明白如何让它运行。而且我需要游戏包含来初始化引擎以使其在 Windows 窗体中运行。

最佳答案

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

使用 WRL 编译需要 /ZW选项。而且这种语言扩展与 /CLR 完全不兼容。这是使用 .NET 所必需的。

WRL 比 .NET 更接近 COM。

关于c# - 在我的 CLR 项目中添加包含使得 WLR 无法在启用/clr 的情况下进行编译,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45693915/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com