Compartilhar via


Consumir bibliotecas e componentes

Os projetos do C++ geralmente precisam chamar funções ou acessar dados em um arquivo binário, como biblioteca estática (arquivos LIB), DLL, componente do Windows Runtime, componente COM ou assembly .NET. Nesses casos, você precisa configurar o projeto para que ele possa encontrar esse binário em tempo de build. As etapas específicas dependem do tipo do projeto, do tipo do binário e se o binário é criado na mesma solução que o projeto.

Consumir bibliotecas baixadas via vcpkg

Para consumir uma biblioteca baixada usando o gerenciador de pacotes vcpkg, você pode ignorar as instruções abaixo. Para saber mais, veja:

Consumir bibliotecas estáticas

Se o projeto de biblioteca estática for criado na mesma solução:

  1. #inclua os arquivos de cabeçalho da biblioteca estática usando aspas. Em uma solução típica, o caminho começa com ../<library project name>. O IntelliSense ajudará você a encontrá-lo.
  2. Adicione uma referência ao projeto de biblioteca estática. Clique com o botão direito do mouse em Referências no nó do projeto de aplicativo no Gerenciador de Soluções e escolha Adicionar Referência.

Se a biblioteca estática não fizer parte da solução:

  1. Clique com o botão direito do mouse no nó do projeto de aplicativo no Gerenciador de Soluções e selecione Propriedades.
  2. Na página de propriedades Diretórios VC++, adicione o caminho ao diretório que contém o arquivo LIB aos Caminhos da Biblioteca. Em seguida, adicione o caminho aos arquivos de cabeçalho da biblioteca para incluir diretórios.
  3. Na página de propriedades Entrada > do Vinculador, adicione o nome do arquivo LIB a Dependências Adicionais.

Se a DLL for criada como parte da mesma solução que o aplicativo, siga as mesmas etapas de uma biblioteca estática.

Se a DLL não fizer parte da solução de aplicativo, você precisará: do arquivo DLL, dos cabeçalhos com protótipos para as funções e classes exportadas e de um arquivo LIB que forneça as informações de vinculação necessárias.

  1. Copie a DLL para a pasta de saída do projeto ou para outra pasta no caminho de pesquisa padrão do Windows para DLLs. Para obter mais informações, confira Ordem de pesquisa da biblioteca de vínculo dinâmico.
  2. Siga as etapas 1 a 3 para que as bibliotecas estáticas forneçam os caminhos para os cabeçalhos e o arquivo LIB.

objetos COM

Se o aplicativo C++ nativo precisar consumir um objeto COM e esse objeto estiver registrado, tudo o que você precisará fazer é chamar CoCreateInstance e passar o CLSID do objeto. O sistema o encontrará no Registro do Windows e o carregará. Um projeto C++/CLI pode consumir um objeto COM da mesma maneira. Ou pode consumi-lo adicionando uma referência a ele da lista Adicionar Referências > COM e consumindo-a por meio de seu RCW (Runtime Callable Wrapper).

Assemblies do .NET e componentes do Windows Runtime

Em projetos UWP ou C++/CLI, você consome assemblies .NET ou componentes do Windows Runtime adicionando uma referência ao assembly ou componente. No nó Referências em um projeto UWP ou C++/CLI, você vê referências a componentes comumente usados. Clique com o botão direito do mouse no nó Referências no Gerenciador de Soluções para abrir o Gerenciador de Referências e navegar pelos componentes disponíveis no sistema. Escolha o botão Procurar para navegar até qualquer pasta que contenha um componente personalizado. Como os assemblies do .NET e os componentes do Windows Runtime contêm informações de tipo interno, você pode exibir seus métodos e classes clicando com o botão direito do mouse e escolhendo Exibir no Pesquisador de Objetos.

Propriedades de referência

Cada tipo de referência tem propriedades. Exiba as propriedades selecionando a referência no Gerenciador de Soluções e pressionando Alt+Enter ou clicando com o botão direito do mouse e escolhendo Propriedades. Algumas propriedades são somente leitura e algumas podem ser modificadas. No entanto, em geral, você não precisa modificar essas propriedades manualmente.

Propriedades de referência do ActiveX

As propriedades de referência do ActiveX estão disponíveis somente para referências a componentes COM. Essas propriedades são exibidas apenas quando um componente COM é selecionado no painel Referências. As propriedades não são modificáveis.

  • Caminho Completo do Controle

    Exibe o caminho do diretório do controle referenciado.

  • GUID do Controle

    Exibe o GUID do controle ActiveX.

  • Versão do Controle

    Exibe a versão do controle ActiveX referenciado.

  • Nome da Biblioteca de Tipos

    Exibe o nome da biblioteca de tipos referenciada.

  • Ferramenta Wrapper

    Exibe a ferramenta usada para criar o assembly de interoperabilidade da biblioteca COM referenciada ou do controle ActiveX.

Propriedades de referência do assembly (C++/CLI)

As propriedades de referência do assembly estão disponíveis somente para referências a assemblies .NET Framework em projetos do C++/CLI. Essas propriedades são exibidas apenas quando um assembly .NET Framework é selecionado no painel Referências. As propriedades não são modificáveis.

  • Caminho Relativo

    Exibe o caminho relativo do diretório do projeto ao assembly referenciado.

Compilar propriedades

As propriedades a seguir estão disponíveis em vários tipos de referências. Elas permitem que você especifique como compilar com referências.

  • Local da Cópia

    Especifica se o assembly referenciado será copiado automaticamente para o local de destino durante um build.

  • Assemblies Satélite do Local da Cópia (C++/CLI)

    Especifica se os assemblies satélite serão copiados automaticamente do assembly referenciado para o local de destino durante um build. Usado somente se Local da Cópia é true.

  • Saída do Assembly de Referência

    Especifica que esse assembly é usado no processo de build. Se true, o assembly será usado na linha de comando do compilador durante o build.

Propriedades de referência projeto a projeto

As propriedades a seguir definem uma referência projeto a projeto do projeto selecionado no painel Referências como outro projeto na mesma solução. Para obter mais informações, consulte Gerenciando referências em um projeto.

  • Dependências da Biblioteca de Links

    Quando essa propriedade é True, o sistema de projeto é vinculado aos arquivos LIB que o projeto independente produz no projeto dependente. Normalmente, você especificará True.

  • Identificador do Projeto

    Identifica exclusivamente o projeto independente. O valor da propriedade é um GUID de sistema interno que não pode ser modificado.

  • Usar Entradas de Dependência da Biblioteca

    Quando essa propriedade é False, o sistema de projeto não é vinculado aos arquivos OBJ para a biblioteca que o projeto independente produz no projeto dependente. É por isso que esse valor desabilita a vinculação incremental. Em geral, você especificará False porque o build do aplicativo poderá levar muito tempo se houver muitos projetos independentes.

Propriedades de referência somente leitura (COM & .NET)

As propriedades a seguir existem em referências de assembly .NET e COM e não podem ser modificadas.

  • Nome do Assembly

    Exibe o nome do assembly para o assembly referenciado.

  • Cultura

    Exibe a cultura da referência selecionada.

  • Descrição

    Exibe a descrição da referência selecionada.

  • Caminho completo

    Exibe o caminho do diretório do assembly referenciado.

  • Identidade

    Para assemblies .NET Framework, exibe o caminho completo. Para componentes COM, exibe o GUID.

  • Rótulo

    Exibe o rótulo da referência.

  • Nome

    Exibe o nome da referência.

  • Token de Chave Pública

    Exibe o token de chave pública usado para identificar o assembly referenciado.

  • Nome Forte

    true se o assembly referenciado tem um nome forte. Um assembly com nome forte tem uma versão exclusiva.

  • Versão

    Exibe a versão do assembly referenciado.

Confira também

Referência de página de propriedades de projeto do C++
Definição das propriedades de compilação do C++ no Visual Studio