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 de Visual Studio IDE kunt u de eigenschappen bekijken en bewerken die nodig zijn om een project te compileren en te bouwen. Deze informatie omvat de toepassingsnaam, extensie (zoals DLL, LIB, EXE), compileropties, linkeropties, foutopsporingsinstellingen en aangepaste buildstappen.
U kunt deze eigenschappen bekijken en wijzigen met behulp van eigenschappenpagina's. Als u de eigenschappenpagina's wilt openen, kiest u> in het hoofdmenu of klikt u met de rechtermuisknop op het projectknooppunt in Solution Explorer en kiest u Eigenschappen.
Standaardeigenschappen
Wanneer u een project maakt, wijst het systeem waarden toe voor verschillende eigenschappen. De standaardinstellingen variëren enigszins, afhankelijk van het soort project en welke opties u kiest in de app-wizard. Een ATL-project (Active Template Library) heeft bijvoorbeeld eigenschappen met betrekking tot MIDL-bestanden (Microsoft Interface Definition Language), maar deze eigenschappen ontbreken in een basisconsoletoepassing. De standaardeigenschappen worden weergegeven in het deelvenster Geavanceerd in het venster Eigenschappenpagina's :
Eigenschappen toepassen om configuraties en doelplatforms te bouwen
Sommige eigenschappen, zoals de naam van de toepassing, zijn van toepassing op alle buildvariaties en doelplatforms, ongeacht of het een foutopsporings- of release-build is. Maar de meeste eigenschappen zijn afhankelijk van de configuratie. Om de juiste code te genereren, moet de compiler zowel het specifieke platform kennen waarop het programma wordt uitgevoerd als welke specifieke compileropties moeten worden gebruikt. Dus wanneer u een eigenschap instelt, is het belangrijk om te letten op de configuratie en het platform waarop de nieuwe waarde moet worden toegepast. Moet dit alleen van toepassing zijn op Foutopsporing Win32-builds, of moet het ook van toepassing zijn op Foutopsporing ARM64 en Foutopsporing x64? De eigenschap Optimalisatie is standaard ingesteld op Maximale snelheid (/O2) in een releaseconfiguratie, maar is uitgeschakeld in de configuratie voor foutopsporing.
U kunt de configuratie en het platform waarop een eigenschapswaarde moet worden toegepast, altijd bekijken en wijzigen. In de volgende afbeelding ziet u de eigenschappenpagina's met de configuratie- en platformelementen bovenaan. Wanneer de eigenschap Optimalisatie hier is ingesteld, is deze alleen van toepassing op x64-builds voor foutopsporing, de momenteel actieve configuratie, zoals wordt weergegeven door de rode pijlen.
De pagina is geopend voor C/C++, Optimalisatie. De instelling Optimalisatie staat ingesteld op Uitgeschakeld (/Od), wat wordt uitgelicht. Een pijl verduidelijkt de relatie tussen de configuratie-instelling op de projecteigenschapspagina, die is ingesteld op Actief (Debuggen), en de instelling in de vervolgkeuzelijst voor Oplossingsconfiguratie op de werkbalk, die is ingesteld op Debuggen. Een andere pijl roept de relatie aan tussen de platforminstelling op de projecteigenschapspagina, die is ingesteld op Actief(x64) en de instelling in de vervolgkeuzelijst Oplossingenplatform op de werkbalk, die is ingesteld op x64.
In de volgende afbeelding ziet u dezelfde projecteigenschapspagina, maar de configuratie is gewijzigd in Release. Noteer de andere waarde voor de eigenschap Optimalisatie. Houd er ook rekening mee dat de actieve configuratie nog steeds Debug is. U kunt hier eigenschappen instellen voor elke configuratie; Het hoeft niet de actieve te zijn.
Doelplatforms
Het doelplatform verwijst naar het type apparaat en besturingssysteem waarop het uitvoerbare bestand wordt uitgevoerd. U kunt een project bouwen voor meer dan één platform. De beschikbare doelplatforms voor C++-projecten zijn afhankelijk van het soort project. Ze omvatten, maar zijn niet beperkt tot Win32, x64, ARM, ARM64, Android en iOS. Het x86-doelplatform dat u in Configuration Manager ziet, is identiek aan Win32 in systeemeigen C++-projecten. Win32 betekent 32-bits Windows en x64 betekent 64-bits Windows. Zie 32-bits toepassingen uitvoeren voor meer informatie over deze twee platforms.
De waarde van een CPU-doelplatform die u in Configuration Manager ziet, heeft geen effect op systeemeigen C++-projecten. Dit is alleen relevant voor C++/CLI en andere .NET-projecttypen. Zie /CLRIMAGETYPE (Type CLR-afbeelding specificeren) voor meer informatie.
Zie voor meer informatie over het instellen van eigenschappen voor een build voor foutopsporing:
- Projectinstellingen voor een C++-foutopsporingsconfiguratie
- Instellingen en voorbereiding voor foutopsporingsprogramma's
- Voorbereiding voor foutopsporing: Microsoft C++-projecttypen
- Symbool (.pdb) en bronbestanden opgeven in het Visual Studio-foutopsporingsprogramma
C++ compiler en linkeropties
C++-compiler- en linkeropties bevinden zich onder de knooppunten C/C++ en Linker in het linkerdeelvenster onder Configuratie-eigenschappen. Deze opties worden rechtstreeks omgezet in opdrachtregelopties die worden doorgegeven aan de compiler. Als u documentatie over een specifieke optie wilt lezen, selecteert u de optie in het middelste deelvenster en drukt u op F1. U kunt ook door de documentatie bladeren voor alle opties in MSVC-compileropties en MSVC-linkeropties.
In het dialoogvenster Eigenschappenpagina's worden alleen de eigenschappenpagina's weergegeven die relevant zijn voor het huidige project. Als het project bijvoorbeeld geen bestand heeft .idl , wordt de midl-eigenschappenpagina niet weergegeven. Zie Eigenschappenpagina's (C++) voor meer informatie over de instellingen op elke eigenschappenpagina.
Directory- en padwaarden
MSBuild ondersteunt het gebruik van compilatieconstanten voor bepaalde tekenreekswaarden, zoals mappen en paden, macro's genoemd. Een macro kan verwijzen naar een waarde die is gedefinieerd door Visual Studio of het MSBuild-systeem, of naar een door de gebruiker gedefinieerde waarde. Macros zien eruit als $(macro-name) of %(item-macro-name). Ze worden weergegeven op de eigenschappenpagina's, waar u deze kunt raadplegen en wijzigen met behulp van de eigenschappeneditor. Gebruik macro's in plaats van in code vastgelegde waarden, zoals mappaden. Met macro's kunt u gemakkelijker eigenschapsinstellingen delen tussen computers en tussen versies van Visual Studio. U kunt er ook voor zorgen dat uw projectinstellingen correct deelnemen aan de overname van eigenschappen.
In de volgende afbeelding ziet u de eigenschappenpagina's voor een Visual Studio C++-project. In het linkerdeelvenster wordt de regelvc++-mappen geselecteerd en in het rechterdeelvenster worden de eigenschappen weergegeven die aan die regel zijn gekoppeld. De eigenschapswaarden zijn vaak macro's, zoals $(VC_SourcePath):
De pagina VC plus mappen is geopend, met eigenschappen voor de regels voor VC++-mappen. Een voorbeeldregel is bronmappen, die is ingesteld op $(VC_SourcePath). Er zijn regels voor de include-mappen, bibliotheekmappen, uitvoerbare mappen, enzovoort.
U kunt de eigenschapseditor gebruiken om de waarden van alle beschikbare macro's weer te geven.
Vooraf gedefinieerde macro's
Globale macro's
Globale macro's zijn van toepassing op alle items in een projectconfiguratie. Een globale macro heeft de syntaxis$(name). Een voorbeeld van een globale macro is$(VCInstallDir), waarin de hoofdmap van uw Visual Studio-installatie wordt opgeslagen. Een globale macro komt overeen met eenPropertyGroupin MSBuild.Itemmacro's
Itemmacro's hebben de syntaxis%(name). Voor een bestand is een itemmacro alleen van toepassing op dat bestand. U kunt%(AdditionalIncludeDirectories)bijvoorbeeld mappen opgeven die alleen van toepassing zijn op een bepaald bestand. Dit soort itemmacro komt overeen met eenItemGroupmetagegevens in MSBuild. Wanneer een itemmacro wordt gebruikt in de context van een projectconfiguratie, is een itemmacro van toepassing op alle bestanden van een bepaald type. De configuratie-eigenschap C/C++ Preprocessordefinities kan bijvoorbeeld een%(PreprocessorDefinitions)itemmacro nemen die van toepassing is op alle .cpp bestanden in het project. Dit soort itemmacro komt overeen met eenItemDefinitionGroupmetagegevens in MSBuild. Zie Itemdefinities voor meer informatie.
Door de gebruiker gedefinieerde macro's
U kunt door de gebruiker gedefinieerde macro's maken om te gebruiken als variabelen in projectversies. U kunt bijvoorbeeld een door de gebruiker gedefinieerde macro maken die een waarde biedt voor een aangepaste buildstap of een aangepast buildhulpprogramma. Een door de gebruiker gedefinieerde macro is een naam-waardepaar. Gebruik de $(name) notatie in een projectbestand om toegang te krijgen tot de waarde.
Een door de gebruiker gedefinieerde macro wordt opgeslagen in een eigenschappenvenster. Als uw project nog geen eigenschappenblad bevat, kunt u er een maken door de stappen onder Delen of opnieuw gebruiken van Visual Studio-projectinstellingen te volgen.
Een door de gebruiker gedefinieerde macro maken
Open het venster Property Manager . Selecteer Opde menubalk>>. Open het snelmenu voor een eigenschappenvenster (de naam eindigt op
.user) en kies Eigenschappen. Het dialoogvenster Eigenschappenpagina's voor dat eigenschappenvenster wordt geopend.Selecteer in het linkerdeelvenster van het dialoogvenster Gebruikersmacro's. Kies in het rechterdeelvenster de knop Macro toevoegen om het dialoogvenster Gebruikermacro toevoegen te openen.
Geef in het dialoogvenster een naam en waarde op voor de macro. Schakel desgewenst het selectievakje Deze macro instellen als een omgevingsvariabele in de buildomgeving in .
Eigenschappen-editor
U kunt de eigenschapseditor gebruiken om bepaalde tekenreekseigenschappen te wijzigen en macro's als waarden te selecteren. Als u de eigenschappeneditor wilt openen, selecteert u een eigenschap op een eigenschappenpagina en kiest u vervolgens de pijl-omlaag aan de rechterkant. Als de vervolgkeuzelijst Bewerken< bevat>, kunt u deze kiezen om de eigenschappeneditor voor die eigenschap weer te geven.
De eigenschapseditor voor de instelling Inclusief mappen is geopend. Hier ziet u de geëvalueerde waarde voor de include-mappen, C:\Program Files(x86)\Microsoft Visual Studio 14.0\VC\Include. De twee overgenomen waarden worden weergegeven: $(VC_IncludePath) en $(WindowsSDK_IncludePath). Een selectievakje voor 'Overnemen van bovenliggende of projectstandaarden' is geselecteerd.
In de eigenschappeneditor kunt u de knop Macro's kiezen om de beschikbare macro's en hun huidige waarden weer te geven. In de volgende afbeelding ziet u de Eigenschap Editor voor de eigenschap Aanvullende Include Mappen nadat de knop Macro's is gekozen. Wanneer het selectievakje Overnemen van bovenliggende of projectstandaarden is ingeschakeld en u een nieuwe waarde toevoegt, wordt deze toegevoegd aan alle waarden die momenteel worden overgenomen. Als u het selectievakje uitschakelt, vervangt de nieuwe waarde de overgenomen waarden. Laat in de meeste gevallen het selectievakje ingeschakeld.
De eigenschappeneditor voor Include Directory's is geopend. De geëvalueerde waarde wordt samen met de overgenomen waarden weergegeven. Een keuzelijst bevat verschillende macro's en de bijbehorende waarden, zoals $(CharacterSet) die is ingesteld op Unicode.
Een insluitingsmap toevoegen aan de set standaardmappen
Wanneer u een insluitingsmap aan een project toevoegt, is het belangrijk dat u niet alle standaardmappen overschrijft. De juiste manier om een map toe te voegen, is door bijvoorbeeld het nieuwe pad C:\MyNewIncludeDir\toe te voegen en vervolgens de $(IncludePath) macro toe te voegen aan de eigenschapswaarde.
Snel door alle eigenschappen bladeren en zoeken
De eigenschappenpagina Alle opties (onder het knooppunt Configuratie-eigenschappen>C/C++ in het dialoogvenster Eigenschappenpagina's ) biedt een snelle manier om door de eigenschappen te bladeren en te zoeken die beschikbaar zijn in de huidige context. Het heeft een speciaal zoekvak en een eenvoudige syntaxis om u te helpen bij het filteren van resultaten:
Geen voorvoegsel: alleen zoeken in eigenschapsnamen (hoofdletterongevoelige subtekenreeks).
'
/' of '-': alleen zoeken in compilerswitches (niet-hoofdlettergevoelig voorvoegsel).v: Alleen zoeken in waarden (hoofdletterongevoelige substring).
Omgevingsvariabelen instellen voor een build
De MSVC-compiler (cl.exe) herkent bepaalde omgevingsvariabelen, met name LIB, LIBPATH, PATHen INCLUDE. Wanneer u bouwt met de IDE, worden de eigenschappen die zijn ingesteld op de eigenschappenpagina van VC++ Directory's gebruikt om deze omgevingsvariabelen in te stellen. Als LIB, LIBPATHen INCLUDE waarden al zijn ingesteld, bijvoorbeeld door een opdrachtprompt voor ontwikkelaars, worden ze vervangen door de waarden van de bijbehorende MSBuild-eigenschappen. De build prependeert vervolgens de waarde van de uitvoerbare mappeneigenschap VC++ directory's naar PATH. U kunt een door de gebruiker gedefinieerde omgevingsvariabele instellen door een door de gebruiker gedefinieerde macro te maken en vervolgens het selectievakje in te schakelen met de tekst Deze macro instellen als een omgevingsvariabele in de buildomgeving.
Omgevingsvariabelen instellen voor een foutopsporingssessie
Vouw in het linkerdeelvenster van het dialoogvenster Eigenschappenpagina's van het project Configuratie-eigenschappen uit en selecteer vervolgens Foutopsporing.
Wijzig in het rechterdeelvenster de projectinstellingen Omgeving of Omgeving samenvoegen en kies vervolgens de knop OK .
Artikelen in deze sectie
- Visual Studio-projectinstellingen delen of opnieuw gebruiken
- Overname van eigenschappen in Visual Studio-projecten
- C++-projecteigenschappen en -doelen wijzigen zonder het projectbestand te wijzigen