Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
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 één keer 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:
Een C++-console-app maken die verwijst naar de statische bibliotheek
De functionaliteit van de statische bibliotheek in de app gebruiken
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:
Kies op de menubalk Bestand>nieuw>Project om het dialoogvenster Een nieuwe project maken te openen.
Stel bovenaan het dialoogvenster Taal in op C++, stel Platform in op Windows en stel Projecttype in op Bibliotheek.
Selecteer in de gefilterde lijst met projecttypen Wizard voor Windows-bureaublad en kies vervolgens Volgende.
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.
Selecteer statische bibliotheek (.lib) in het dialoogvenster Windows-bureaubladproject onder Toepassingstype.
Schakel onder Extra opties het selectievakje Vooraf gecompileerde header uit als dit is ingeschakeld. Selecteer Leeg project.
Kies OK om het project te maken.
Een statisch bibliotheekproject maken in Visual Studio 2017:
Kies Bestand>nieuw>project op de menubalk.
In het dialoogvenster Nieuw project selecteert u Geïnstalleerd>Visual C++>Windows Desktop. Selecteer de Windows-bureaubladwizard in het middelste deelvenster.
Geef een naam op voor het project, zoals MathLibrary, in het vak Naam . Geef een naam op voor de oplossing, zoals StaticMath, in het vak Oplossingsnaam . Kies OK.
Selecteer statische bibliotheek (.lib) in het dialoogvenster Windows-bureaubladproject onder Toepassingstype.
Schakel onder Extra opties het selectievakje Vooraf gecompileerde header uit als dit is ingeschakeld. Selecteer Leeg project.
Kies OK om het project te maken.
Een statisch bibliotheekproject maken in Visual Studio 2015:
Kies Bestand>nieuw>project op de menubalk.
Selecteer in het dialoogvenster Nieuw projectGeïnstalleerd>Sjablonen>Visual C++>Win32. Selecteer in het middelste deelvenster Win32-consoletoepassing.
Geef een naam op voor het project, zoals MathLibrary, in het vak Naam . Geef een naam op voor de oplossing, zoals StaticMath, in het vak Oplossingsnaam . Kies OK.
Kies Volgende in de Win32-toepassingswizard.
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:
Maak een headerbestand voor een nieuwe klasse. Klik in Solution Explorer met de rechtermuisknop op MathLibrary om het contextmenu voor het project te openen. SelecteerNieuw item>.
Selecteer Visual C++>Code in het dialoogvenster Nieuw item toevoegen. Selecteer in het middelste deelvenster koptekstbestand (.h). Geef een naam op voor het headerbestand, zoals MathLibrary.h, en selecteer vervolgens Toevoegen. Er wordt een bijna leeg headerbestand weergegeven.
Voeg een declaratie toe voor een klasse met de naam
Arithmeticom 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); }; }Als u een bronbestand voor de nieuwe klasse wilt maken, opent u het contextmenu voor het project MathLibrary in Solution Explorer en kiest uVervolgens Nieuw itemtoevoegen>.
Selecteer in het dialoogvenster Nieuw item toevoegen in het middelste deelvenster C++-bestand (.cpp). Geef een naam op voor het bronbestand, zoals MathLibrary.cpp. Selecteer vervolgens Toevoegen. Er wordt een leeg bronbestand weergegeven.
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; } }Als u de statische bibliotheek wilt bouwen, selecteert u Build Solution> op de menubalk. De build maakt een statische bibliotheek, MathLibrary.lib, die andere programma's kunnen gebruiken.
Opmerking
Wanneer u op de opdrachtregel van Visual Studio bouwt, moet u het programma in twee stappen bouwen.
- Voer
cl /c /EHsc MathLibrary.cppdeze opdracht uit om de code te compileren en een objectbestand met de naam MathLibrary.obj te maken. Metclde opdracht wordt de compiler aangeroepen, Cl.exeen de/coptie geeft compileer op zonder koppeling. Zie /c (Compileren zonder koppelen) voor meer informatie. - Voer
lib MathLibrary.objuit om de code te koppelen en de statische bibliotheek MathLibrary.lib te maken. Met delibopdracht wordt bibliotheekbeheer aangeroepen, Lib.exe. Zie LIB Reference voor meer informatie.
- Voer
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:
Klik in Solution Explorer met de rechtermuisknop op het bovenste knooppunt, Oplossing StaticMath, om het contextmenu te openen. KiesNieuw project> om het dialoogvenster Een nieuw project toevoegen te openen.
Stel boven aan het dialoogvenster het filter Projecttype in op Console.
Kies Console-app in de gefilterde lijst met projecttypen en kies vervolgens Volgende. Voer op de volgende pagina MathClient in als de naam voor het project.
Kies Maken om het clientproject te maken.
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:
Klik in Solution Explorer met de rechtermuisknop op het bovenste knooppunt, Oplossing StaticMath, om het contextmenu te openen. KiesNieuw project> om het dialoogvenster Een nieuw project toevoegen te openen.
Selecteer in het dialoogvenster Nieuw project toevoegenGeïnstalleerd>Visual C++>Windows Desktop. Selecteer de Windows-bureaubladwizard in het middelste deelvenster.
Geef een naam op voor het project, bijvoorbeeld MathClient, in het vak Naam . Kies de knop OK.
Selecteer consoletoepassing (.exe) in het dialoogvenster Windows-bureaubladproject onder Toepassingstype.
Schakel onder Extra opties het selectievakje Vooraf gecompileerde header uit als dit is ingeschakeld.
Kies OK om het project te maken.
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:
Klik in Solution Explorer met de rechtermuisknop op het bovenste knooppunt, Oplossing StaticMath, om het contextmenu te openen. KiesNieuw project> om het dialoogvenster Een nieuw project toevoegen te openen.
Selecteer in het dialoogvenster Nieuw project toevoegenGeïnstalleerd>Visual C++>Win32. Selecteer in het middelste deelvenster Win32-consoletoepassing.
Geef een naam op voor het project, bijvoorbeeld MathClient, in het vak Naam . Kies de knop OK.
Kies Volgende in het dialoogvenster Wizard Win32-toepassing.
Controleer op de pagina Toepassingsinstellingen onder Toepassingstype of Consoletoepassing is geselecteerd. Schakel onder Aanvullende optiesVooraf gecompileerde header uit en selecteer vervolgens Leeg project. Kies Voltooien om het project te maken.
Als u een bronbestand wilt toevoegen aan het lege project, klikt u met de rechtermuisknop om het contextmenu voor het MathClient-project in Solution Explorer te openen en kiest uVervolgens Nieuw itemtoevoegen>.
Selecteer Visual C++>Code 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:
Verwijs naar de statische bibliotheek voordat u de wiskundige routines erin gebruikt. Open het contextmenu voor het MathClient-project in Solution Explorer en kies Verwijzing toevoegen>.
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 , selecteer MathLibrary en selecteer VERVOLGENS OK.
Wijzig het pad van de include-mappen zodat het verwijst naar het
MathLibrary.hheaderbestand. Klik in Solution Explorer met de rechtermuisknop op MathClient om het contextmenu te openen. Kies Eigenschappen om het dialoogvenster Eigenschappenpagina's van MathClient te openen.Stel in het dialoogvenster Eigenschappenpagina's van MathClient de configuratiewaarde in op Alle configuraties. Stel Platform in op alle platforms.
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:
Open de vervolgkeuzelijst van de eigenschapswaarde Aanvullende Include Directories en kies Bewerken.
Dubbelklik in het dialoogvenster Extra mappen opnemen op de bovenkant van het tekstvak. Kies vervolgens de knop met het beletselteken (...) aan het einde van de regel.
Navigeer in het dialoogvenster Map selecteren één niveau omhoog en selecteer vervolgens de map MathLibrary. Kies vervolgens de knop Map Selecteren om uw selectie op te slaan.
Kies in het dialoogvenster Extra mappen opnemen de knop OK .
Kies in het dialoogvenster Eigenschappenpagina's de knop OK om de wijzigingen in het project op te slaan.
U kunt nu de
Arithmeticklasse in deze app gebruiken door de#include "MathLibrary.h"header in uw code op te slaan. Vervang de inhoud vanMathClient.cppmet 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; }Als u het uitvoerbare bestand wilt bouwen, kiest u Build Solution> op de menubalk.
De app uitvoeren
De app uitvoeren:
Zorg ervoor dat MathClient is geselecteerd als het standaardproject. Als u dit wilt selecteren, klikt u met de rechtermuisknop op MathClient in Solution Explorer om het contextmenu te openen en kiest u Instellen als opstartbewerking Project.
Kies in de menubalk de optie Foutopsporing>starten zonder foutopsporing om het project uit te voeren. 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++)