Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
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 código. Em vez de reimplementar as mesmas rotinas em todos os aplicativos que exigem a funcionalidade, você as escreve uma vez em uma biblioteca estática e, em seguida, faz referência a partir dos aplicativos. O código vinculado a partir 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 abrange estas tarefas:
Pré-requisitos
Uma compreensão dos fundamentos da linguagem C++.
Criar um projeto de biblioteca estática
As instruções sobre como criar o projeto variam dependendo da sua versão do Visual Studio. Para ver a documentação da sua versão preferida do Visual Studio, use o controlador de seleção Versão . Encontra-se na parte superior do índice desta página.
Para criar um projeto de biblioteca estática no Visual Studio
Na barra de menus, escolha Arquivo>Novo>Projeto para abrir a caixa de diálogo Criar um Novo Projeto .
Na parte superior da caixa de diálogo, defina Language como C++, defina Platform como Windows e defina Project type como Library.
Na lista filtrada de tipos de projeto, selecione Assistente de Área de Trabalho do Windows e escolha Avançar.
Na página Configurar seu novo projeto , digite MathLibrary na caixa Nome do projeto para especificar um nome para o projeto. Digite StaticMath na caixa Nome da solução. Escolha o botão Criar para abrir a caixa de diálogo Projeto da Área de Trabalho do Windows .
Na caixa de diálogo Projeto da Área de Trabalho do Windows, em Tipo de aplicativo, selecione Biblioteca estática (.lib).
Em Opções adicionais, desmarque a caixa de seleção Cabeçalho pré-compilado se estiver marcada. Assinale 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 Arquivo>Novo>Projeto.
Na caixa de diálogo Novo Projeto, selecione Instalado>Visual C++>Windows Desktop. No painel central, selecione Assistente de Área de Trabalho do Windows.
Especifique um nome para o projeto, por exemplo, MathLibrary, na caixa Nome . Especifique um nome para a solução — por exemplo, StaticMath — na caixa Nome da solução . Escolha o botão OK.
Na caixa de diálogo Projeto da Área de Trabalho do Windows, em Tipo de aplicativo, selecione Biblioteca estática (.lib).
Em Opções Adicionais, desmarque a caixa de seleção Cabeçalho pré-compilado se estiver marcada. Assinale 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 Arquivo>Novo>Projeto.
Na caixa de diálogo Novo projeto, selecione instalados>Modelos>Visual C++>Win32. No painel central, selecione Aplicativo de console Win32.
Especifique um nome para o projeto, por exemplo, MathLibrary, na caixa Nome . Especifique um nome para a solução — por exemplo, StaticMath — na caixa Nome da solução . Escolha o botão OK.
No Assistente de aplicativo Win32, escolha Avançar.
Na página Configurações do aplicativo , em Tipo de aplicativo, selecione Biblioteca estática. Em Opções adicionais, desmarque a caixa de seleção Cabeçalho pré-compilado . Escolha Concluir para criar o projeto.
Adicionar uma classe à biblioteca estática
Para adicionar uma classe à biblioteca estática
Para criar um arquivo de cabeçalho para uma nova classe, clique com o botão direito do mouse para abrir o menu de atalho para o projeto MathLibrary no Gerenciador de Soluções e escolha Adicionar>Novo Item.
Na caixa de diálogo Adicionar Novo Item , selecione Visual C++>Code. No painel central, selecione Arquivo de cabeçalho (.h). Especifique um nome para o arquivo de cabeçalho — por exemplo, MathLibrary.h — e escolha o botão Adicionar . Um arquivo de cabeçalho quase em branco é exibido.
Adicione uma declaração para uma classe nomeada
Arithmetic
para fazer operações matemáticas comuns, como adição, subtração, multiplicação e divisão. O código deve ser semelhante:// 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 para o projeto MathLibrary no Gerenciador 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, MathLibrary.cpp, e escolha o botão Adicionar . Um arquivo de origem em branco é exibido.
Use este arquivo de origem para implementar a funcionalidade para a classe
Arithmetic
. O código deve ser semelhante:// 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 Build>Build Solution na barra de menus. A compilação cria uma biblioteca estática, MathLibrary.lib, que pode ser usada por outros programas.
Observação
Quando você cria na linha de comando do Visual Studio, você deve criar o programa em duas etapas. Primeiro, execute
cl /c /EHsc MathLibrary.cpp
para compilar o código e criar um arquivo de objeto chamado MathLibrary.obj. (Ocl
comando invoca o compilador, Cl.exee a/c
opção especifica compilar sem vinculação. Para obter mais informações, consulte /c (Compilar sem vinculação).) Em segundo lugar, executelib MathLibrary.obj
para vincular o código e criar a biblioteca estática MathLibrary.lib. (Olib
comando invoca o Gerenciador de bibliotecas, Lib.exe. Para obter mais informações, consulte Referência LIB.)
Criar um aplicativo de console C++ que faça referência à biblioteca estática
Para criar um aplicativo de console 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 Adicionar>Novo Projeto para abrir a caixa de diálogo Adicionar um Novo Projeto .
Na parte superior da caixa de diálogo, defina o filtro Tipo de projeto como Console.
Na lista filtrada de tipos de projeto, escolha Aplicativo de console e, em seguida, escolha Avançar. Na próxima página, digite MathClient na caixa Nome para especificar um nome para o projeto.
Escolha o botão Criar para criar o projeto cliente.
Depois de criar um aplicativo de console, um programa vazio é criado para você. O nome do arquivo de origem é o mesmo que o nome escolhido anteriormente. No exemplo, ele é chamado
MathClient.cpp
.
Para criar um aplicativo de console C++ que faça 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 Adicionar>Novo Projeto para abrir a caixa de diálogo Adicionar um Novo Projeto .
Na caixa de diálogo Adicionar Novo Projeto, selecione Instalado>Visual C++>Windows Desktop. No painel central, selecione Assistente de Área de Trabalho do Windows.
Especifique um nome para o projeto, por exemplo, MathClient, na caixa Nome . Escolha o botão OK.
Na caixa de diálogo Projeto da Área de Trabalho do Windows , em Tipo de aplicativo, selecione Aplicativo de console (.exe).
Em Opções Adicionais, desmarque a caixa de seleção Cabeçalho pré-compilado se estiver marcada.
Escolha OK para criar o projeto.
Depois de criar um aplicativo de console, um programa vazio é criado para você. O nome do arquivo de origem é o mesmo que o nome escolhido anteriormente. No exemplo, ele é chamado
MathClient.cpp
.
Para criar um aplicativo de console C++ que faça referência à biblioteca estática no Visual Studio 2015
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 Adicionar>Novo Projeto para abrir a caixa de diálogo Adicionar um Novo Projeto .
Na caixa de diálogo Adicionar Novo Projeto, selecione Instalado>Visual C++>Win32. No painel central, selecione Aplicativo de console Win32.
Especifique um nome para o projeto, por exemplo, MathClient, na caixa Nome . Escolha o botão OK.
Na caixa de diálogo Win32 Application Wizard , escolha Next.
Na página Configurações do aplicativo , em Tipo de aplicativo, verifique se Aplicativo de console está selecionado. Em Opções adicionais, desmarque Cabeçalho pré-compilado e marque a caixa de seleção Projeto vazio . 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 para o projeto MathClient no Gerenciador de Soluções e escolha Adicionar>Novo Item.
Na caixa de diálogo Adicionar Novo Item , selecione Visual C++>Code. No painel central, selecione Arquivo C++ (.cpp). Especifique um nome para o arquivo de origem, por exemplo, MathClient.cpp, e escolha o botão Adicionar . 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 para o projeto MathClient no Gerenciador de Soluções e escolha Adicionar>Referê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 a que eles fazem referência. Abra a guia Projetos , marque a caixa de seleção Biblioteca Matemática e escolha o botão OK .
Para fazer referência ao
MathLibrary.h
arquivo 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 MathClient Property Pages .Na caixa de diálogo MathClient Property Pages, definir o menu pendente Configuração como Todas as Configurações. Defina o seletor Plataforma como Todas as plataformas.
Selecione a Configuration Properties>C/C++>General property page. Na propriedade Additional Include Directories , especifique o caminho do diretório MathLibrary ou procure por ele.
Para procurar o caminho do diretório:
Abra a lista suspensa da propriedade 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
Arithmetic
classe neste aplicativo incluindo o#include "MathLibrary.h"
cabeçalho em seu código. Substitua o conteúdo doMathClient.cpp
por 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 Build>Build Solution na barra de menus.
Executar o aplicativo
Para executar o aplicativo
Certifique-se de que 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 no Gerenciador de Soluções e, em seguida, escolha Definir como Projeto de Inicialização.
Para executar o projeto, na barra de menus, escolha Depurar>Iniciar Sem Depuração. A saída deve ser semelhante:
a + b = 106.4 a - b = -91.6 a * b = 732.6 a / b = 0.0747475
Ver também
Passo a passo: Criando e usando uma biblioteca de vínculo dinâmico (C++)