Passo a passo: criar e usar uma biblioteca estática
Este passo a passo mostra como criar uma biblioteca estática (arquivo .lib) para uso com aplicativos C++. Usar uma biblioteca estática é uma ótima maneira de reutilizar o código. Em vez de reimplementar as mesmas rotinas em cada aplicativo que exige a funcionalidade, você as escreve uma vez em uma biblioteca estática e, em seguida, faz referência a ela dos aplicativos. O código vinculado de uma biblioteca estática torna-se parte do seu aplicativo, você não precisa instalar — outro arquivo para usar o código.
Este passo a passo apresenta estas tarefas:
Pré-requisitos
Uma compreensão dos conceitos básicos da linguagem C++.
Criar um projeto de biblioteca estática
As instruções de como criar o projeto variam de acordo com sua versão do Visual Studio. Para ver a documentação de sua versão preferencial do Visual Studio, use o controle Seletor de versão. Ele é encontrado na parte superior do conteúdo desta página.
Para criar um projeto de biblioteca estática no Visual Studio
Na barra de menus, escolha ArquivoNovo Project para abrir a caixa de diálogo Criar um novo Project.
Na parte superior da caixa de diálogo, de definir Idioma como C++,de definir Plataforma como Windows edefinir o tipo Project comoBiblioteca.
Na lista filtrada de tipos de projeto, selecione Assistente Windows Área de Trabalhoe, em seguida, escolha Próximo.
Na página Configurar seu novo projeto, insira MathLibrary na caixa Project nome para especificar um nome para o projeto. Insira StaticMath na caixa Nome da solução. Escolha o botão Criar para abrir o Windows Desktop Project diálogo.
Na caixa de Windows Desktop Project, em Tipo deaplicativo, selecione Biblioteca Estática (.lib).
Em Opções adicionais, desmarque a caixa de seleção Desmarque o header Pré-comcompilado se ele estiver marcado. Marque a caixa Projeto vazio.
Escolha OK para criar o projeto.
Para criar um projeto de biblioteca estática no Visual Studio 2017
Na barra de menus, escolha ArquivoNovo Project.
Na caixa de diálogo Project, selecione Instalado Visual C++Windows Desktop. No painel central, escolha Assistente do Windows Desktop.
Especifique um nome para — o projeto, por —— na — Nome. Especifique um nome para a — solução, por —— na caixa Nome — Solução. Clique no botão OK.
Na caixa de Windows Desktop Project, em Tipo deaplicativo, selecione Biblioteca Estática (.lib).
Em Opções Adicionais, desmarque a caixa de seleção Desmarque o header Pré-comcompilado se ele estiver marcado. Marque a caixa Projeto vazio.
Escolha OK para criar o projeto.
Para criar um projeto de biblioteca estática no Visual Studio 2015
Na barra de menus, escolha ArquivoNovo Project.
Na caixa de diálogo Project, selecione ModelosInstaladosVisual C++Win32. No painel central, escolha Aplicativo de Console Win32.
Especifique um nome para — o projeto, por —— na — Nome. Especifique um nome para a — solução, por —— na caixa Nome — Solução. Clique no botão OK.
No Assistente de Aplicativo Win32,escolha Próximo.
Na página Aplicativo Configurações, em Tipo de aplicativo,selecione Biblioteca estática. Em Opções adicionais,desmarque a caixa de seleção Desmarque o header Pré-comcompilado. Escolha Concluir para criar o projeto.
Adicionar uma classe à biblioteca estática
Para adicionar uma classe à biblioteca estática
Para criar um arquivo de header para uma nova classe, clique com o botão direito do mouse para abrir o menu de atalho do projeto MathLibraryno Gerenciador de Soluçõese escolha Adicionar Novo Item.
Na caixa de diálogo Adicionar Novo Item, selecione Visual C++Código. No painel central, escolha Arquivo de Cabeçalho (.h). Especifique um nome para o arquivo de header, por — exemplo, —e, em — seguida, escolha o — Adicionar. Um arquivo de header quase em branco é exibido.
Adicione uma declaração para uma classe chamada para fazer operações matemáticas comuns, como
Arithmeticadição, subtração, multiplicação e divisão. O código deve ser semelhante a:// MathLibrary.h #pragma once namespace MathLibrary { class Arithmetic { public: // Returns a + b static double Add(double a, double b); // Returns a - b static double Subtract(double a, double b); // Returns a * b static double Multiply(double a, double b); // Returns a / b static double Divide(double a, double b); }; }Para criar um arquivo de origem para a nova classe, abra o menu de atalho do projeto MathLibrarynoGerenciador de Soluções e escolha Adicionar Novo Item.
Na caixa de diálogo Adicionar Novo Item, no painel central, selecione Arquivo C++ (.cpp). Especifique um nome para o arquivo — de origem, por exemplo, —e — escolha o — Adicionar. Um arquivo de origem em branco é exibido.
Use esse arquivo de origem para implementar a funcionalidade da classe
Arithmetic. O código deve ser semelhante a:// MathLibrary.cpp // compile with: cl /c /EHsc MathLibrary.cpp // post-build command: lib MathLibrary.obj #include "MathLibrary.h" namespace MathLibrary { double Arithmetic::Add(double a, double b) { return a + b; } double Arithmetic::Subtract(double a, double b) { return a - b; } double Arithmetic::Multiply(double a, double b) { return a * b; } double Arithmetic::Divide(double a, double b) { return a / b; } }Para criar a biblioteca estática, selecione CriarSolução de Build na barra de menus. O build cria uma biblioteca estática, MathLibrary.lib,que pode ser usada por outros programas.
Observação
Ao criar na linha de Visual Studio comando, você deve criar o programa em duas etapas. Primeiro, execute para compilar o código e criar um arquivo de objeto chamado
cl /c /EHsc MathLibrary.cppcl /c /EHsc MathLibrary.cpp. (O comando invoca o compilador, Cl.exe e a opção especificacl/ccompilar sem vinculação. Para obter mais informações, consulte /c (Compilar sem vinculação).) Em segundo lugar,lib MathLibrary.objexecute para vincular o código e criar a biblioteca estáticalib MathLibrary.obj(Olibcomando invoca o Gerenciador de Biblioteca, Lib.exe. Para obter mais informações, consulte Referência lib.)
Criar um aplicativo de console do C++ que faz referência à biblioteca estática
Para criar um aplicativo de console do C++ que faz referência à biblioteca estática no Visual Studio
No Gerenciador de Soluções, clique com o botão direito do mouse no nó superior, Solução 'StaticMath',para abrir o menu de atalho. Escolha AdicionarNovo Project para abrir a caixa de diálogo Adicionar um novo Project.
Na parte superior da caixa de diálogo, de definido o filtro Project tipo como Console.
Na lista filtrada de tipos de projeto, escolha Aplicativo de Console e, em seguida, escolha Avançar. Na próxima página, insira MathClient na caixa Nome para especificar um nome para o projeto.
Escolha o botão Criar para criar o projeto do cliente.
Depois que você cria um aplicativo de console, o sistema cria um programa vazio para você. O nome do arquivo de origem será o mesmo que você escolheu anteriormente. No exemplo, ele se chama
MathClient.cpp.
Para criar um aplicativo de console do C++ que faz referência à biblioteca estática no Visual Studio 2017
No Gerenciador de Soluções, clique com o botão direito do mouse no nó superior, Solução 'StaticMath',para abrir o menu de atalho. Escolha AdicionarNovo Project para abrir a caixa de diálogo Adicionar um novo Project.
Na caixa de diálogo Adicionar Project, selecione Instalado Visual C++Windows Desktop. No painel central, escolha Assistente do Windows Desktop.
Especifique um nome para — o projeto, por —— na — Nome. Clique no botão OK.
Na caixa de Windows Desktop Project, em Tipo deaplicativo, selecione Aplicativo de Console (.exe).
Em Opções Adicionais, desmarque a caixa de seleção Desmarque o header Pré-comcompilado se ele estiver marcado.
Escolha OK para criar o projeto.
Depois que você cria um aplicativo de console, o sistema cria um programa vazio para você. O nome do arquivo de origem será o mesmo que você escolheu anteriormente. No exemplo, ele se chama
MathClient.cpp.
para criar um aplicativo de console C++ que faz referência à biblioteca estática no Visual Studio 2015
Em Gerenciador de soluções, clique com o botão direito do mouse no nó superior, solução ' StaticMath ', para abrir o menu de atalho. escolha adicionarnovo Project para abrir a caixa de diálogo adicionar um novo Project .
na caixa de diálogo adicionar novo Project , selecione instaladoVisual C++Win32. No painel central, escolha Aplicativo de Console Win32.
Especifique um nome para o projeto — , por exemplo, —— na caixa — . Clique no botão OK.
Na caixa de diálogo Assistente de aplicativo Win32 , escolha Avançar.
na página Configurações do aplicativo , em tipo de aplicativo, verifique se a seção aplicativo de Console está selecionada. em opções adicionais, desmarque cabeçalho pré-compiladoe marque a caixa de seleção Project vazia . Escolha concluir para criar o projeto.
Para adicionar um arquivo de origem ao projeto vazio, clique com o botão direito do mouse para abrir o menu de atalho do projeto MathClient no Gerenciador de soluçõese escolha Adicionarnovo item.
Na caixa de diálogo Adicionar novo item , selecione Visual C++código. No painel central, selecione arquivo C++ (. cpp). Especifique um nome para o arquivo de origem — , por exemplo, —— e, em seguida, escolha o botão — . Um arquivo de origem em branco é exibido.
Usar a funcionalidade da biblioteca estática no aplicativo
Para usar a funcionalidade da biblioteca estática no aplicativo
Antes de poder usar as rotinas matemáticas na biblioteca estática, você deve fazer referência a ela. Abra o menu de atalho do projeto MathClient no Gerenciador de soluçõese, em seguida, escolha Adicionarreferência.
A caixa de diálogo Adicionar referência lista as bibliotecas que você pode referenciar. A guia projetos lista os projetos na solução atual e todas as bibliotecas que eles referenciam. Abra a guia projetos , marque a caixa de seleção MathLibrary e escolha o botão OK .
Para fazer referência ao
MathLibrary.harquivo de cabeçalho, você deve modificar o caminho dos diretórios incluídos. No Gerenciador de soluções, clique com o botão direito do mouse em MathClient para abrir o menu de atalho. Escolha Propriedades para abrir a caixa de diálogo páginas de propriedades do MathClient .Na caixa de diálogo páginas de propriedades do MathClient , defina a lista suspensa configuração para todas as configurações. Defina a lista suspensa plataforma para todas as plataformas.
Selecione a página de propriedade geralC/C++Propriedades de configuração . Na propriedade incluir diretórios adicionais , especifique o caminho do diretório MathLibrary ou procure-o.
Para procurar o caminho do diretório:
Abra a lista suspensa valor da propriedade de diretórios de inclusão adicionais e escolha Editar.
Na caixa de diálogo diretórios de inclusão adicionais , clique duas vezes na parte superior da caixa de texto. Em seguida, escolha o botão de reticências (...) no final da linha.
Na caixa de diálogo Selecionar diretório , navegue até um nível e selecione o diretório MathLibrary . Em seguida, escolha o botão Selecionar pasta para salvar sua seleção.
Na caixa de diálogo diretórios de inclusão adicionais , escolha o botão OK .
Na caixa de diálogo páginas de propriedades , escolha o botão OK para salvar as alterações no projeto.
Agora você pode usar a
Arithmeticclasse neste aplicativo incluindo o#include "MathLibrary.h"cabeçalho em seu código. Substitua o conteúdo deMathClient.cpppor este código:// MathClient.cpp // compile with: cl /EHsc MathClient.cpp /link MathLibrary.lib #include <iostream> #include "MathLibrary.h" int main() { double a = 7.4; int b = 99; std::cout << "a + b = " << MathLibrary::Arithmetic::Add(a, b) << std::endl; std::cout << "a - b = " << MathLibrary::Arithmetic::Subtract(a, b) << std::endl; std::cout << "a * b = " << MathLibrary::Arithmetic::Multiply(a, b) << std::endl; std::cout << "a / b = " << MathLibrary::Arithmetic::Divide(a, b) << std::endl; return 0; }Para criar o executável, escolha criarsolução de compilação na barra de menus.
Executar o aplicativo
Para executar o aplicativo
Verifique se MathClient está selecionado como o projeto padrão. Para selecioná-lo, clique com o botão direito do mouse para abrir o menu de atalho para MathClient em Gerenciador de soluçõese escolha definir como Project de inicialização.
Para executar o projeto, na barra de menus, escolha DepurarIniciar sem Depuração. A saída deve ser semelhante a:
a + b = 106.4 a - b = -91.6 a * b = 732.6 a / b = 0.0747475
Confira também
Walkthrough: Criando e usando uma biblioteca de vínculo dinâmico (C++)
Aplicativos de área de trabalho (Visual C++)