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 todas as aplicações que exigem essa funcionalidade, escreve-as uma vez numa biblioteca estática e depois referencia-as a partir das aplicações. O código ligado a partir de uma biblioteca estática torna-se parte da sua aplicação. Não precisas de instalar outro ficheiro 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, escolhe File>NewProject> para abrir o diálogo Criar um novo project.
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 projetos, selecione Assistente de Ambiente de Trabalho Windows e depois selecione Próximo.
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 verificação Cabeçalho pré-compilado, se estiver selecionada. Selecione 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.
No diálogo New Project, selecione Instalado>Visual C++>Windows Desktop. No painel central, selecione Assistente de Área de Trabalho do Windows.
Especifique um nome para o projeto, como MathLibrary, na caixa de Nome . Especifique um nome para a solução, como StaticMath, na caixa Nome da Solução . Selecione 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, caso esteja selecionada. Selecione 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.
No diálogo New Project, selecioneTemplates>Instalados>Visual C++>Win32. No painel central, selecione Aplicativo de console Win32.
Especifique um nome para o projeto, como MathLibrary, na caixa de Nome . Especifique um nome para a solução, como StaticMath, na caixa Nome da Solução . Selecione 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 verificação Cabeçalho pré-compilado. Escolha Concluir para criar o projeto.
Adicionar uma classe à biblioteca estática
Para adicionar uma classe à biblioteca estática:
Crie um ficheiro de cabeçalho para uma nova classe. No Explorador de Soluções, clique com o botão direito em MathLibrary para abrir o menu contextual do projeto. Selecionar Adicionar>Novo Item.
No diálogo Adicionar Novo Item , selecione Visual C++>Code. No painel central, selecione Arquivo de cabeçalho (.h). Especifique um nome para o ficheiro de cabeçalho, como MathLibrary.h, e depois selecione Adicionar. Um arquivo de cabeçalho quase em branco é exibido.
Adicione uma declaração para uma classe nomeada
Arithmeticpara 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 ficheiro fonte para a nova classe, abra o menu de contexto do projeto MathLibrary no Explorador de Soluções e depois escolha Adicionar>Novo Item.
No diálogo Adicionar Novo Item , no painel central, selecione Ficheiro C++ (.cpp). Especifique um nome para o ficheiro fonte, como MathLibrary.cpp. Em seguida, selecione 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 build cria uma biblioteca estática, MathLibrary.lib, que outros programas podem usar.
Observação
Quando você cria na linha de comando do Visual Studio, você deve criar o programa em duas etapas.
- Execute
cl /c /EHsc MathLibrary.cpppara compilar o código e crie um ficheiro objeto chamado MathLibrary.obj. Oclcomando invoca o compilador, Cl.exe, e a/copção especifica compilar sem ligação. Para mais informações, veja /c (Compilar Sem Ligação). - Execute
lib MathLibrary.objpara ligar o código e crie a biblioteca estática MathLibrary.lib. Olibcomando invoca o Gestor da Biblioteca, Lib.exe. Para mais informações, consulte a Referência LIB.
- Execute
Criar um aplicativo de console C++ que faça referência à biblioteca estática
Para criar uma aplicação de consola C++ que faça referência à biblioteca estática no Visual Studio:
No Explorador de Soluções, clique com o botão direito no nó superior, Solution 'StaticMath', para abrir o menu de contexto. 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 página seguinte, insira MathClient como nome do projeto.
Escolha Criar para criar o projeto do 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 uma aplicação de consola em C++ que faça referência à biblioteca estática no Visual Studio 2017:
No Explorador de Soluções, clique com o botão direito do rato no nó superior, Solution 'StaticMath', para abrir o menu de contexto. Escolha Adicionar>Novo Projeto para abrir a caixa de diálogo Adicionar um Novo Projeto .
No diálogo Adicionar Novo Project, 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 verificação cabeçalho pré-compilado se estiver selecionada.
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 uma aplicação de consola C++ que faça referência à biblioteca estática no Visual Studio 2015:
No Explorador de Soluções, clique com o botão direito no nó superior, Solution 'StaticMath', para abrir o menu de contexto. Escolha Adicionar>Novo Projeto para abrir a caixa de diálogo Adicionar um Novo Projeto .
No 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, limpe o cabeçalho pré-compilado e depois selecione Empty Project. Escolha Concluir para criar o projeto.
Para adicionar um ficheiro fonte ao projeto vazio, clique com o botão direito para abrir o menu de contexto do projeto MathClient no Explorador de Soluções e depois escolha Adicionar>Novo Item.
No 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 na aplicação:
Consulta a biblioteca estática antes de usares as rotinas matemáticas nela. Abra o menu de contexto do projeto MathClient no Explorador de Soluções e depois escolha Adicionar>Referência.
A caixa de diálogo Adicionar Referência lista as bibliotecas que podes consultar. A guia Projetos lista os projetos na solução atual e todas as bibliotecas a que eles fazem referência. Abre o separador Projetos , seleciona Biblioteca de Matemática e depois OK.
Modificar o caminho dos diretórios incluídos para referenciar o
MathLibrary.hficheiro de cabeçalho. No Explorador de Soluções, clique com o botão direito em MathClient para abrir o menu contextual. Escolha Propriedades para abrir o diálogo Páginas de Propriedades do MathClient.No diálogo Páginas de Propriedades do MathClient , defina o valor de Configuração para Todas as Configurações. Defina 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.
No diálogo Incluir Diretórios Adicionais , clique duas vezes no topo da caixa de texto. Em seguida, escolha o botão de reticências (...) no final da linha.
No diálogo Selecionar Diretório , navegue um nível acima e depois selecione o diretório MathLibrary . Em seguida, escolha o botão Selecionar pasta para salvar sua seleção.
No diálogo Incluir Diretórios Adicionais , escolha o botão OK .
No diálogo das Páginas de Propriedades , escolhe o botão OK para guardar as alterações ao projeto.
Agora você pode usar a
Arithmeticclasse neste aplicativo incluindo o#include "MathLibrary.h"cabeçalho em seu código. Substitua o conteúdo doMathClient.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 Build>Build Solution na barra de menus.
Executar o aplicativo
Para correr a aplicação:
Certifique-se de que MathClient está selecionado como o projeto padrão. Para o selecionar, clique com o botão direito em MathClient no Explorador de Soluções para abrir o menu de contexto e depois escolha Definir como StartUp Project.
Na barra de menus, escolhe Depurar>Iniciar Sem Depuração para executar o projeto. 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++)