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:
- vcpkg em projetos do CMake
- Instalar e usar pacotes com o CMake no Visual Studio
- vcpkg em projetos do MSBuild
- Tutorial: Instalar e usar pacotes com o MSBuild no Visual Studio
Consumir bibliotecas estáticas
Se o projeto de biblioteca estática for criado na mesma solução:
- #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. - 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:
- Clique com o botão direito do mouse no nó do projeto de aplicativo no Gerenciador de Soluções e selecione Propriedades.
- 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.
- Na página de propriedades Entrada > do Vinculador, adicione o nome do arquivo LIB a Dependências Adicionais.
Biblioteca de vínculo dinâmico
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.
- 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.
- 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 e .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