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

  1. Na barra de menus, escolha ArquivoNovo Project para abrir a caixa de diálogo Criar um novo Project.

  2. Na parte superior da caixa de diálogo, de definir Idioma como C++,de definir Plataforma como Windows edefinir o tipo Project comoBiblioteca.

  3. Na lista filtrada de tipos de projeto, selecione Assistente Windows Área de Trabalhoe, em seguida, escolha Próximo.

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

  5. Na caixa de Windows Desktop Project, em Tipo deaplicativo, selecione Biblioteca Estática (.lib).

  6. Em Opções adicionais, desmarque a caixa de seleção Desmarque o header Pré-comcompilado se ele estiver marcado. Marque 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 ArquivoNovo Project.

  2. Na caixa de diálogo Project, selecione Instalado Visual C++Windows Desktop. No painel central, escolha Assistente do Windows Desktop.

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

  4. Na caixa de Windows Desktop Project, em Tipo deaplicativo, selecione Biblioteca Estática (.lib).

  5. Em Opções Adicionais, desmarque a caixa de seleção Desmarque o header Pré-comcompilado se ele estiver marcado. Marque 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 ArquivoNovo Project.

  2. Na caixa de diálogo Project, selecione ModelosInstaladosVisual C++Win32. No painel central, escolha Aplicativo de Console Win32.

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

  4. No Assistente de Aplicativo Win32,escolha Próximo.

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

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

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

  3. Adicione uma declaração para uma classe chamada para fazer operações matemáticas comuns, como Arithmetic adiçã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);
        };
    }
    
  4. 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.

  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, —e — escolha o — Adicionar. Um arquivo de origem em branco é exibido.

  6. 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;
        }
    }
    
  7. 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 especifica cl/c compilar sem vinculação. Para obter mais informações, consulte /c (Compilar sem vinculação).) Em segundo lugar, lib MathLibrary.obj execute para vincular o código e criar a biblioteca estática lib MathLibrary.obj (O lib comando 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

  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 AdicionarNovo Project para abrir a caixa de diálogo Adicionar um novo Project.

  2. Na parte superior da caixa de diálogo, de definido o filtro Project tipo 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, insira MathClient na caixa Nome para especificar um nome para o projeto.

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

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

  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 AdicionarNovo Project para abrir a caixa de diálogo Adicionar um novo Project.

  2. Na caixa de diálogo Adicionar Project, selecione Instalado Visual C++Windows Desktop. No painel central, escolha Assistente do Windows Desktop.

  3. Especifique um nome para — o projeto, por —— na — Nome. Clique no botão OK.

  4. Na caixa de Windows Desktop Project, em Tipo deaplicativo, selecione Aplicativo de Console (.exe).

  5. Em Opções Adicionais, desmarque a caixa de seleção Desmarque o header Pré-comcompilado se ele estiver marcado.

  6. Escolha OK para criar o projeto.

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

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

  2. na caixa de diálogo adicionar novo Project , selecione instaladoVisual C++Win32. No painel central, escolha Aplicativo de Console Win32.

  3. Especifique um nome para o projeto — , por exemplo, —— na caixa — . Clique no botão OK.

  4. Na caixa de diálogo Assistente de aplicativo Win32 , escolha Avançar.

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

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

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

  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 do projeto MathClient no Gerenciador de soluçõese, em seguida, escolha Adicionarreferê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 que eles referenciam. Abra a guia projetos , marque a caixa de seleção MathLibrary 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 páginas de propriedades do MathClient .

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

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

    1. Abra a lista suspensa valor da propriedade de 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 de 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 criarsolução de compilação na barra de menus.

Executar o aplicativo

Para executar o aplicativo

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

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