我正在从 DirectX12 Win32 桌面示例创建 WPF 资产(如D3D11Image):D3D12PipelineStateCache,因此我可以将其作为XAML 元素嵌入到 WPF 应用程序中。
Microsoft Directx12 示例广泛使用ComPtr
(using Microsoft::WRL::ComPtr;
和#include <wrl.h>
)、智能指针,但由于以下原因构建失败:
// Don't allow to compile sources with /clr
#ifdef _MANAGED
#error WRL cannot be compiled with /clr option enabled
#endif
Repro:我开始在 D3D12PipelineStateCache 项目中更改配置属性:
- 配置类型:动态库
- clr 支持:/clr
- .net 目标:v4.5
目标是“通过停止来自 win32 的代码来分离停止”并使其与 XAML 资产接口。
您是否有任何建议替换智能指针,ComPtr
或者您是否建议以不同的方式进行,例如,通过与 clr dll 互操作构建纯 c++ dll,在这种情况下,如何?