如何创建一个Direct2D工厂

4

我正在创建一个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 首先需要创建工厂,因此我没有创建任何设备、渲染目标等等...

如果有帮助,将不胜感激。


你是否确实告诉链接器要链接哪些库?仅指定库的位置是不够的。 - Captain Obvlious
这个配置过去在3D应用程序中起作用过...除非在指定目录方面2D和3D应用程序之间存在差异,否则它应该可以工作。 - Display name
1个回答

8

尝试在你的代码中添加这个指令。

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

这将把d2d1.lib链接到您的目标代码中。您可以使用此指令链接到其他库。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接