未解决的外部符号

The*_* do 4 c++ direct2d directwrite

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

#include <Windows.h>
#include <d2d1.h>
#pragma comment(lib, "d2d1")
#include <dwrite.h>
#include <d2d1helper.h>
#include "SafeRelease.h"
Run Code Online (Sandbox Code Playgroud)

//安全的重新发布文件

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

        (*ppInterfaceToRelease) = NULL;
    }
}
Run Code Online (Sandbox Code Playgroud)

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

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

不知道为什么.所有?标题包括在内.希望你们中的一些人能够帮助解决这个问题.
谢谢.

Joh*_*bly 16

您需要链接到Dwrite.lib,其中包括DWriteCreateFactory的实现

请参阅此处获取文档 底部的"需求"部分说明了需要包含和链接的内容以使用错误引用的功能.

您可以通过添加该行来解决此问题

#pragma comment(lib, "Dwrite")
Run Code Online (Sandbox Code Playgroud)