Partilhar via


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 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

  1. Na barra de menus, escolha Arquivo>Novo>Projeto para abrir a caixa de diálogo Criar um Novo Projeto .

  2. Na parte superior da caixa de diálogo, defina Language como C++, defina Platform como Windows e defina Project type como Library.

  3. Na lista filtrada de tipos de projeto, selecione Assistente de Área de Trabalho do Windows e escolha Avançar.

  4. 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 .

  5. Na caixa de diálogo Projeto da Área de Trabalho do Windows, em Tipo de aplicativo, selecione Biblioteca estática (.lib).

  6. Em Opções adicionais, desmarque a caixa de seleção Cabeçalho pré-compilado se estiver marcada. Assinale a caixa Projeto vazio.

  7. Escolha OK para criar o projeto.

Para criar um projeto de biblioteca estática no Visual Studio 2017

  1. Na barra de menus, escolha Arquivo>Novo>Projeto.

  2. Na caixa de diálogo Novo Projeto, selecione Instalado>Visual C++>Windows Desktop. No painel central, selecione Assistente de Área de Trabalho do Windows.

  3. 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.

  4. Na caixa de diálogo Projeto da Área de Trabalho do Windows, em Tipo de aplicativo, selecione Biblioteca estática (.lib).

  5. Em Opções Adicionais, desmarque a caixa de seleção Cabeçalho pré-compilado se estiver marcada. Assinale a caixa Projeto vazio.

  6. Escolha OK para criar o projeto.

Para criar um projeto de biblioteca estática no Visual Studio 2015

  1. Na barra de menus, escolha Arquivo>Novo>Projeto.

  2. Na caixa de diálogo Novo projeto, selecione instalados>Modelos>Visual C++>Win32. No painel central, selecione Aplicativo de console Win32.

  3. 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.

  4. No Assistente de aplicativo Win32, escolha Avançar.

  5. 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

  1. 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.

  2. 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.

  3. 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);
        };
    }
    
  4. 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.

  5. 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.

  6. 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;
        }
    }
    
  7. 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. (O cl 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, execute lib MathLibrary.obj para vincular o código e criar a biblioteca estática MathLibrary.lib. (O lib 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

  1. 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 .

  2. Na parte superior da caixa de diálogo, defina o filtro Tipo de projeto como Console.

  3. 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.

  4. Escolha o botão Criar para criar o projeto cliente.

  5. 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

  1. 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 .

  2. 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.

  3. Especifique um nome para o projeto, por exemplo, MathClient, na caixa Nome . Escolha o botão OK.

  4. Na caixa de diálogo Projeto da Área de Trabalho do Windows , em Tipo de aplicativo, selecione Aplicativo de console (.exe).

  5. Em Opções Adicionais, desmarque a caixa de seleção Cabeçalho pré-compilado se estiver marcada.

  6. Escolha OK para criar o projeto.

  7. 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

  1. 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 .

  2. Na caixa de diálogo Adicionar Novo Projeto, selecione Instalado>Visual C++>Win32. No painel central, selecione Aplicativo de console Win32.

  3. Especifique um nome para o projeto, por exemplo, MathClient, na caixa Nome . Escolha o botão OK.

  4. Na caixa de diálogo Win32 Application Wizard , escolha Next.

  5. 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.

  6. 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.

  7. 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

  1. 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.

  2. 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 .

  3. 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 .

  4. 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.

  5. 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:

    1. Abra a lista suspensa da propriedade Diretórios de Inclusão Adicionais e escolha Editar.

    2. 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.

    3. 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.

    4. Na caixa de diálogo Diretórios de inclusão adicionais , escolha o botão OK .

    5. Na caixa de diálogo Páginas de propriedades , escolha o botão OK para salvar as alterações no projeto.

  6. Agora você pode usar a Arithmetic classe neste aplicativo incluindo o #include "MathLibrary.h" cabeçalho em seu código. Substitua o conteúdo do MathClient.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;
    }
    
  7. Para criar o executável, escolha Build>Build Solution na barra de menus.

Executar o aplicativo

Para executar o aplicativo

  1. 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.

  2. 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++)