6

主要文章有一个头文件和一个源文件。复制这两个文件并添加一些标题后:

#include <Windows.h>
#include <d2d1.h>
#pragma comment(lib, "d2d1")
#include <dwrite.h>
#include <d2d1helper.h>
#include "SafeRelease.h"

//安全发布文件

template<class Interface>
inline void
SafeRelease(
    Interface **ppInterfaceToRelease
    )
{
    if (*ppInterfaceToRelease != NULL)
    {
        (*ppInterfaceToRelease)->Release();

        (*ppInterfaceToRelease) = NULL;
    }
}

当我试图编译这个项目时,我收到了一个错误:

错误 1 ​​错误 LNK2019:未解析的外部符号 __imp__DWriteCreateFactory@12 在函数“private: long __thiscall SimpleText::CreateDeviceIndependentResources(void)”(?CreateDeviceIndependentResources@SimpleText@@AAEJXZ) 中引用

不知道为什么。全部?包括标题。希望你们中的一些人能够对此提供帮助。
谢谢你。

4

3 回答 3

18

You need to link to Dwrite.lib, which includes the implementation of DWriteCreateFactory

See here for documentation. Requirements section at the bottom explains what you need to include and link to to use the function that the error refers to.

You could probably fix this by adding the line

#pragma comment(lib, "Dwrite")
于 2010-07-21T09:42:52.890 回答
1

您必须在要链接到您的应用程序的库列表中提及 Dwrite.lib。

于 2010-07-21T09:52:37.993 回答
1

添加后:

#pragma comment(lib, "dwrite")

此代码有效。

于 2010-07-21T09:45:37.427 回答