Delen via


Overzicht: Een statische bibliotheek maken en gebruiken

In dit stapsgewijze overzicht ziet u hoe u een statische bibliotheek (.lib-bestand) maakt voor gebruik met C++-apps. Het gebruik van een statische bibliotheek is een uitstekende manier om code opnieuw te gebruiken. In plaats van dezelfde routines opnieuw te gebruiken in elke app waarvoor de functionaliteit is vereist, schrijft u ze eenmalig in een statische bibliotheek en verwijst u ernaar vanuit de apps. Code die is gekoppeld vanuit een statische bibliotheek wordt onderdeel van uw app. U hoeft geen ander bestand te installeren om de code te gebruiken.

Deze handleiding behandelt de volgende taken:

Vereiste voorwaarden

Inzicht in de basisprincipes van de C++-taal.

Een statisch bibliotheekproject maken

De instructies voor het maken van het project variëren, afhankelijk van uw versie van Visual Studio. Als u de documentatie voor uw voorkeursversie van Visual Studio wilt bekijken, gebruikt u het besturingselement voor versie-selector . Deze bevindt zich boven aan de inhoudsopgave op deze pagina.

Een statisch bibliotheekproject maken in Visual Studio

  1. Kies bestand>nieuw>project op de menubalk om het dialoogvenster Een nieuw project maken te openen.

  2. Stel bovenaan het dialoogvenster Taal in op C++, stel Platform in op Windows en stel Projecttype in op Bibliotheek.

  3. Selecteer in de gefilterde lijst met projecttypen Windows-bureaubladwizard en kies vervolgens Volgende.

  4. Voer op de pagina Uw nieuwe project configurerenMathLibrary in het vak Projectnaam in om een naam voor het project op te geven. Voer StaticMath in het vak Oplossingsnaam in. Kies de knop Maken om het dialoogvenster Windows-bureaubladproject te openen.

  5. Selecteer statische bibliotheek (.lib) in het dialoogvenster Windows-bureaubladproject onder Toepassingstype.

  6. Schakel onder Extra opties het selectievakje Vooraf gecompileerde header uit als dit is ingeschakeld. Schakel het selectievakje Leeg project in.

  7. Kies OK om het project te maken.

Een statisch bibliotheekproject maken in Visual Studio 2017

  1. Kies Bestand>nieuw>project op de menubalk.

  2. In het dialoogvenster Nieuw project, selecteer Geïnstalleerd>Visual C++>Windows Desktop. Selecteer de Windows-bureaubladwizard in het middelste deelvenster.

  3. Geef een naam op voor het project, bijvoorbeeld MathLibrary, in het vak Naam . Geef een naam op voor de oplossing, bijvoorbeeld StaticMath, in het vak Oplossingsnaam . Kies de knop OK.

  4. Selecteer statische bibliotheek (.lib) in het dialoogvenster Windows-bureaubladproject onder Toepassingstype.

  5. Schakel onder Extra opties het selectievakje Voorgecompileerde header uit als dit is ingeschakeld. Schakel het selectievakje Leeg project in.

  6. Kies OK om het project te maken.

Een statisch bibliotheekproject maken in Visual Studio 2015

  1. Kies Bestand>nieuw>project op de menubalk.

  2. Selecteer In het dialoogvenster Nieuw projectgeïnstalleerde>sjablonen>visual C++>Win32. Selecteer in het middelste deelvenster Win32-consoletoepassing.

  3. Geef een naam op voor het project, bijvoorbeeld MathLibrary, in het vak Naam . Geef een naam op voor de oplossing, bijvoorbeeld StaticMath, in het vak Oplossingsnaam . Kies de knop OK.

  4. Kies Volgende in de Win32-toepassingswizard.

  5. Selecteer op de pagina Toepassingsinstellingen onder Toepassingstype de optie Statische bibliotheek. Schakel onder Extra opties het selectievakje Vooraf gecompileerde header uit. Kies Voltooien om het project te maken.

Een klasse toevoegen aan de statische bibliotheek

Een klasse toevoegen aan de statische bibliotheek

  1. Als u een koptekstbestand voor een nieuwe klasse wilt maken, klikt u met de rechtermuisknop om het snelmenu voor het MathLibrary-project in Solution Explorer te openen en kiest uVervolgens Nieuw item>.

  2. Selecteer Visual C++> in het dialoogvenster Nieuw item toevoegen. Selecteer in het middelste deelvenster koptekstbestand (.h). Geef een naam op voor het headerbestand, bijvoorbeeld MathLibrary.h, en kies vervolgens de knop Toevoegen . Er wordt een bijna leeg headerbestand weergegeven.

  3. Voeg een declaratie toe voor een klasse met de naam Arithmetic om algemene wiskundige bewerkingen uit te voeren, zoals optellen, aftrekken, vermenigvuldigen en delen. De code moet er als volgt uitzien:

    // 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. Als u een bronbestand voor de nieuwe klasse wilt maken, opent u het snelmenu voor het project MathLibrary in Solution Explorer en kiest uVervolgens Nieuw item>.

  5. Selecteer in het dialoogvenster Nieuw item toevoegen in het middelste deelvenster het C++-bestand (.cpp).> Geef een naam op voor het bronbestand, bijvoorbeeld MathLibrary.cpp, en kies vervolgens de knop Toevoegen . Er wordt een leeg bronbestand weergegeven.

  6. Gebruik dit bronbestand om de functionaliteit voor klasse Arithmeticte implementeren. De code moet er als volgt uitzien:

    // 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. Als u de statische bibliotheek wilt bouwen, selecteert u Build Solution> op de menubalk. De build maakt een statische bibliotheek, MathLibrary.lib, die door andere programma's kan worden gebruikt.

    Opmerking

    Wanneer u op de opdrachtregel van Visual Studio bouwt, moet u het programma in twee stappen bouwen. Voer cl /c /EHsc MathLibrary.cpp eerst uit om de code te compileren en een objectbestand te maken met de naam MathLibrary.obj. (De cl opdracht roept de compiler aan, Cl.exeen de /c optie geeft compileer op zonder koppeling. Zie /c (Compileren zonder koppelen)) voor meer informatie.) Voer vervolgens uit lib MathLibrary.obj om de code te koppelen en de statische bibliotheek MathLibrary.lib te maken. (Met de lib opdracht wordt bibliotheekbeheer aangeroepen, Lib.exe. Zie LIB Reference voor meer informatie.)

Een C++-console-app maken die verwijst naar de statische bibliotheek

Een C++-console-app maken die verwijst naar de statische bibliotheek in Visual Studio

  1. Klik in Solution Explorer met de rechtermuisknop op het bovenste knooppunt, Solution StaticMath, om het snelmenu te openen. KiesNieuw project> om het dialoogvenster Een nieuw project toevoegen te openen.

  2. Stel boven aan het dialoogvenster het filter Projecttype in op Console.

  3. Kies Console-app in de gefilterde lijst met projecttypen en kies vervolgens Volgende. Voer op de volgende pagina MathClient in het vak Naam in om een naam voor het project op te geven.

  4. Kies de knop Maken om het clientproject te maken.

  5. Nadat u een console-app hebt gemaakt, wordt er een leeg programma voor u gemaakt. De naam voor het bronbestand is hetzelfde als de naam die u eerder hebt gekozen. In het voorbeeld heeft deze de naam MathClient.cpp.

Een C++-console-app maken die verwijst naar de statische bibliotheek in Visual Studio 2017

  1. Klik in Solution Explorer met de rechtermuisknop op het bovenste knooppunt, Solution StaticMath, om het snelmenu te openen. KiesNieuw project> om het dialoogvenster Een nieuw project toevoegen te openen.

  2. Selecteer in het dialoogvenster Nieuw project toevoegen de optie Geïnstalleerde>: Visual C++>Windows Desktop. Selecteer de Windows-bureaubladwizard in het middelste deelvenster.

  3. Geef een naam op voor het project, bijvoorbeeld MathClient, in het vak Naam . Kies de knop OK.

  4. Selecteer consoletoepassing (.exe) in het dialoogvenster Windows-bureaubladproject onder Toepassingstype.

  5. Schakel onder Extra opties het selectievakje Voorgecompileerde header uit als dit is ingeschakeld.

  6. Kies OK om het project te maken.

  7. Nadat u een console-app hebt gemaakt, wordt er een leeg programma voor u gemaakt. De naam voor het bronbestand is hetzelfde als de naam die u eerder hebt gekozen. In het voorbeeld heeft deze de naam MathClient.cpp.

Een C++-console-app maken die verwijst naar de statische bibliotheek in Visual Studio 2015

  1. Klik in Solution Explorer met de rechtermuisknop op het bovenste knooppunt, Solution StaticMath, om het snelmenu te openen. KiesNieuw project> om het dialoogvenster Een nieuw project toevoegen te openen.

  2. Selecteer In het dialoogvenster Nieuw project toevoegen de optie Geïnstalleerde>Visual C++>Win32. Selecteer in het middelste deelvenster Win32-consoletoepassing.

  3. Geef een naam op voor het project, bijvoorbeeld MathClient, in het vak Naam . Kies de knop OK.

  4. Kies Volgende in het dialoogvenster Wizard Win32-toepassing.

  5. Controleer op de pagina Toepassingsinstellingen onder Toepassingstype of Consoletoepassing is geselecteerd. Schakel onder Aanvullende opties het selectievakje Vooraf gecompileerde header uit en schakel vervolgens het selectievakje Project leegmaken in. Kies Voltooien om het project te maken.

  6. Als u een bronbestand wilt toevoegen aan het lege project, klikt u met de rechtermuisknop om het snelmenu voor het MathClient-project in Solution Explorer te openen en kiest uVervolgens Nieuw item>.

  7. Selecteer Visual C++> in het dialoogvenster Nieuw item toevoegen. Selecteer in het middelste deelvenster C++-bestand (.cpp).> Geef een naam op voor het bronbestand, bijvoorbeeld MathClient.cpp, en kies vervolgens de knop Toevoegen . Er wordt een leeg bronbestand weergegeven.

De functionaliteit van de statische bibliotheek in de app gebruiken

De functionaliteit van de statische bibliotheek in de app gebruiken

  1. Voordat u de wiskundige routines in de statische bibliotheek kunt gebruiken, moet u ernaar verwijzen. Open het snelmenu voor het MathClient-project in Solution Explorer en kies Verwijzing toevoegen>.

  2. Het dialoogvenster Verwijzing toevoegen bevat de bibliotheken waarnaar u kunt verwijzen. Het tabblad Projecten bevat de projecten in de huidige oplossing en alle bibliotheken waarnaar ze verwijzen. Open het tabblad Projecten , schakel het selectievakje MathLibrary in en kies vervolgens de knop OK .

  3. Als u wilt verwijzen naar het MathLibrary.h headerbestand, moet u het pad naar opgenomen mappen wijzigen. Klik in Solution Explorer met de rechtermuisknop op MathClient om het snelmenu te openen. Kies Eigenschappen om het dialoogvenster Eigenschappenpagina's van MathClient te openen.

  4. Stel in het dialoogvenster Eigenschappenpagina's van MathClient de vervolgkeuzelijst Configuratie in op Alle configuraties. Stel de vervolgkeuzelijst Platform in op Alle platforms.

  5. Selecteer de eigenschappenpagina Configuratie-eigenschappen>C/C++>Algemeen . Geef in de eigenschap Extra includemapjes het pad van de MathLibrary-map op of blader ernaar.

    Volg deze stappen om naar de maplocatie te bladeren:

    1. Open de vervolgkeuzelijst van de eigenschapswaarde Aanvullende Include Directories en kies Bewerken.

    2. Dubbelklik in het dialoogvenster Aanvullende inbegrepen directories in het bovenste gedeelte van het tekstvak. Kies vervolgens de knop met het beletselteken (...) aan het einde van de regel.

    3. Navigeer in het dialoogvenster Selecteer Map een niveau omhoog en selecteer vervolgens de map MathLibrary. Kies vervolgens de knop Map Selecteren om uw selectie op te slaan.

    4. Kies in het dialoogvenster Extra mappen opnemen de knop OK .

    5. Kies in het dialoogvenster Eigenschappenpagina's de knop OK om de wijzigingen in het project op te slaan.

  6. U kunt nu de Arithmetic klasse in deze app gebruiken door de #include "MathLibrary.h" header in uw code op te slaan. Vervang de inhoud van MathClient.cpp met deze code:

    // 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. Als u het uitvoerbare bestand wilt bouwen, kiest u Build Solution> op de menubalk.

De app uitvoeren

De app uitvoeren

  1. Zorg ervoor dat MathClient is geselecteerd als het standaardproject. Als u deze optie wilt selecteren, klikt u met de rechtermuisknop om het snelmenu voor MathClient in Solution Explorer te openen en kiest u Instellen als Opstartproject.

  2. Om het project uit te voeren, kiest u op de menubalk Debuggen>Starten zonder debuggen. De uitvoer moet er ongeveer als volgt uitzien:

    a + b = 106.4
    a - b = -91.6
    a * b = 732.6
    a / b = 0.0747475
    

Zie ook

Overzicht: Een dynamische koppelingsbibliotheek maken en gebruiken (C++)