如何创建 Direct2D 工厂

How to create a Direct2D factory

我正在创建一个 Direct2D 应用程序,API 概述页面说第一步是创建一个工厂...好吧,我用这个函数试过了

D2D1CreateFactory(D2D1_FACTORY_TYPE_SINGLE_THREADED, &factory);

但它给出了错误

Error   62  error LNK2019: unresolved external symbol _D2D1CreateFactory@16 referenced in function "long __cdecl D2D1CreateFactory(enum D2D1_FACTORY_TYPE,struct _GUID const &,void * *)" (?D2D1CreateFactory@@YAJW4D2D1_FACTORY_TYPE@@ABU_GUID@@PAPAX@Z

我正在从 WinMain 函数中调用 D2D1CreateFactory 函数。

这就是我初始化工厂指针的方式

ID2D1Factory *factory;

这些是包含和库目录

C:\Program Files (x86)\Microsoft DirectX SDK (June 2010)\Include
C:\Program Files (x86)\Microsoft DirectX SDK (June 2010)\Lib\x86

我有使用 direct3D 的经验,所以我熟悉设备和渲染目标,但我的印象是对于 direct2D,工厂是第一位的,所以我没有创建任何设备、渲染目标等...

感谢任何帮助。

尝试将此指令添加到您的代码中。

#pragma comment(lib, "d2d1.lib")

它会linkd2d1.lib到你的目标代码。 您可以使用此指令 link 到其他库。