Pergunta

artigo principal existe um arquivo de cabeçalho e um arquivo fonte.Depois de copiar esses dois arquivos e adicionar alguns cabeçalhos:

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

//Arquivo de liberação segura

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

        (*ppInterfaceToRelease) = NULL;
    }
}

quando estou tentando compilar este projeto, estou recebendo um erro:

Erro 1 erro LNK2019:símbolo externo não resolvido __imp__DWriteCreateFactory@12 referenciado na função "private:longo __thiscall SimpleText::CreateDeviceIndependentResources(void)" (?CreateDeviceIndependentResources@SimpleText@@AAEJXZ)

Não tenho ideia do porquê.Todos?cabeçalhos estão incluídos.Esperamos que alguns de vocês possam ajudar com isso.
Obrigado.

Foi útil?

Solução

Você precisa vincular ao Dwrite.lib, que inclui a implementação do DWriteCreateFactory

Ver aqui para documentação.A seção de requisitos na parte inferior explica o que você precisa incluir e vincular para usar a função à qual o erro se refere.

Você provavelmente poderia consertar isso adicionando a linha

#pragma comment(lib, "Dwrite")

Outras dicas

Depois de adicionar:

#pragma comment(lib, "dwrite")

esse código funciona.

Você deve mencionar Dwrite.lib na lista de bibliotecas a serem vinculadas à sua aplicação.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top