Sdílet prostřednictvím


Nastavení vlastností kompilátoru a sestavení

V integrovaném vývojovém prostředí sady Visual Studio můžete zobrazit a upravit vlastnosti potřebné ke kompilaci a sestavení projektu. Tyto informace zahrnují název aplikace, rozšíření (například DLL, LIB, EXE), možnosti kompilátoru, možnosti linkeru, nastavení ladicího programu a vlastní kroky sestavení.

Tyto vlastnosti můžete zobrazit a upravit pomocí stránek vlastností. Chcete-li získat přístup ke stránkám vlastností, zvolte Projekt>Vlastnosti projektu z hlavní nabídky, nebo klikněte pravým tlačítkem myši na uzel projektu v Průzkumník řešení a zvolte Vlastnosti.

Výchozí vlastnosti

Při vytváření projektu systém přiřadí hodnoty pro různé vlastnosti. Výchozí hodnoty se poněkud liší v závislosti na typu projektu a na možnostech, které zvolíte v průvodci aplikací. Například projekt Active Template Library (ATL) má vlastnosti související se soubory Microsoft Interface Definition Language (MIDL), ale tyto vlastnosti chybí v základní konzolové aplikaci. Výchozí vlastnosti se zobrazují v podokně Upřesnit v okně Stránky vlastností :

Snímek obrazovky dialogového okna vlastností projektu sady Visual Studio s vybraným podoknem Upřesňující. Vlastnosti jako použití knihovny MFC, znakové sady a podobně jsou zvýrazněné.

Použití vlastností pro sestavení konfigurací a cílových platforem

Některé vlastnosti, jako je název aplikace, se vztahují na všechny varianty sestavení i cílové platformy, ať už jde o ladicí nebo produkční sestavení. Většina vlastností je ale závislá na konfiguraci. Aby kompilátor vygeneroval správný kód, musí znát jak konkrétní platformu, na které program běží, tak i konkrétní možnosti kompilátoru, které se mají použít. Při nastavování vlastnosti je proto důležité věnovat pozornost tomu, na jakou konfiguraci a platformu by se nová hodnota měla použít. Měl by platit jenom pro ladění sestavení Win32, nebo by se měl použít také pro ladění ARM64 a ladění x64? Například vlastnost Optimization je ve výchozím nastavení nastavena na Maximalizovat rychlost (/O2) v konfiguraci vydané verze, ale je zakázaná v konfiguraci ladění.

Vždy můžete zobrazit a změnit konfiguraci a platformu, na kterou by se měla použít hodnota vlastnosti. Následující obrázek znázorňuje stránky vlastností s ovládacími prvky pro konfiguraci a informace o platformě v horní části. Pokud je zde nastavena vlastnost Optimalizace, platí pouze pro ladění sestavení Win32, aktuálně aktivní konfigurace, jak je znázorněno červenými šipkami.

Snímek obrazovky s dialogovým oknem Stránky vlastností sady Visual Studio

Stránka je otevřená pro C/C++, Optimalizaci. Nastavení Optimalizace je nastaveno na Zakázáno (/Od), což je zvýrazněno. Šipkou je naznačen vztah mezi nastavením Konfigurace na stránce vlastností projektu, která je nastavena na Active(Debug), a nastavením v rozevíracím seznamu konfigurace řešení na panelu nástrojů, které je nastaveno na Debug. Další šipka označuje vztah mezi nastavením Platformy na stránce vlastností projektu, která je nastavená na Aktivní (Win32) a nastavením v rozevíracím seznamu Platforma řešení na panelu nástrojů, který je nastavený na x86.

Následující obrázek znázorňuje stejnou stránku vlastností projektu, ale konfigurace byla změněna na Verzi. Poznamenejte si jinou hodnotu vlastnosti Optimalizace. Všimněte si také, že aktivní konfigurace je stále laděná. Zde můžete nastavit vlastnosti pro libovolnou konfiguraci; nemusí být aktivní.

Snímek obrazovky s dialogem Stránek vlastností projektu Visual Studio. Konfigurace v rozevíracím seznamu je zvýrazněná a nastavena na Release. Nastavení optimalizace je nastaveno na Maximalizovat rychlost / O2.

Cílové platformy

Cílová platforma odkazuje na druh zařízení a operačního systému, na kterém běží spustitelný soubor. Můžete vytvořit projekt pro více než jednu platformu. Dostupné cílové platformy pro projekty C++ závisí na druhu projektu. Patří mezi ně Win32, x64, ARM, ARM64, Android a iOS, ale zahrnují i další. Cílová platforma x86, kterou můžete vidět v Configuration Manageru, je stejná jako Win32 v nativních projektech C++. Win32 znamená 32bitovou verzi Windows a x64 znamená 64bitovou verzi Windows. Další informace o těchto dvou platformách najdete v tématu Spouštění 32bitových aplikací.

Hodnota jakékoli cílové platformy procesoru , kterou můžete vidět v Configuration Manageru , nemá žádný vliv na nativní projekty C++. Je relevantní jenom pro C++/CLI a další typy projektů .NET. Další informace najdete v tématu /CLRIMAGETYPE (Určení typu image CLR).

Další informace o nastavení vlastností pro ladicí sestavení naleznete v tématu:

Možnosti kompilátoru a linkeru jazyka C++

Možnosti kompilátoru a linkeru jazyka C++ se nacházejí v uzlech C/C++ a Linkeru v levém podokně v části Vlastnosti konfigurace. Tyto možnosti se překládají přímo na možnosti příkazového řádku, které se předávají kompilátoru. Pokud si chcete přečíst dokumentaci o konkrétní možnosti, vyberte ji v prostředním podokně a stiskněte klávesu F1. Nebo můžete procházet dokumentaci ke všem možnostem v možnostech kompilátoru MSVC a možnostech linkeru MSVC.

Dialogové okno Stránky vlastností zobrazuje pouze stránky vlastností, které jsou relevantní pro aktuální projekt. Pokud například projekt nemá soubor .idl, stránka vlastností MIDL se nezobrazí. Další informace o nastavení na každé stránce vlastností naleznete v tématu Stránky vlastností (C++).

Hodnoty adresáře a cesty

Nástroj MSBuild podporuje použití konstant doby kompilace pro určité řetězcové hodnoty, jako jsou například adresáře a cesty, označované jako makra. Makro může odkazovat na hodnotu definovanou sadou Visual Studio nebo systémem MSBuild nebo na uživatelem definovanou hodnotu. Makra vypadají jako $(macro-name) nebo %(item-macro-name). Zobrazují se na stránkách vlastností, na které se můžete odkazovat a upravovat je pomocí Editoru vlastností. Místo pevně zakódovaných hodnot, jako jsou cesty k adresáři, použijte makra. Makra usnadňují sdílení nastavení vlastností mezi počítači a mezi verzemi sady Visual Studio. Můžete také lépe zajistit, aby nastavení projektu byla správně zapojena do dědičnosti vlastností.

Následující obrázek znázorňuje stránky vlastností projektu Visual Studio C++. V levém podokně je vybráno pravidlo adresářůVC++ a v pravém podokně jsou uvedeny vlastnosti přidružené k danému pravidlu. Hodnoty vlastností jsou často makra, například $(VC_SourcePath):

Snímek obrazovky s dialogovým oknem Stránky vlastností sady Visual Studio pro pravidla pro různé adresáře

Stránka VC plus plus adresáře je otevřená, která obsahuje vlastnosti pravidel adresářů VC++. Příkladem pravidla jsou zdrojové adresáře, které jsou nastavené na $(VC_SourcePath). Existují pravidla pro zahrnutí adresářů, adresářů knihoven, spustitelných adresářů atd.

Pomocí Editoru vlastností můžete zobrazit hodnoty všech dostupných maker.

Předdefinovaná makra

  • Globální makra
    Globální makra platí pro všechny položky v konfiguraci projektu. Globální makro má syntaxi $(name). Příkladem globálního makra je $(VCInstallDir), který ukládá kořenový adresář instalace sady Visual Studio. Globální makro odpovídá prvku v nástroji PropertyGroup MSBuild.

  • Makra položek
    Makra položek mají syntaxi %(name). V případě souboru se makro položky vztahuje pouze na tento soubor. Můžete například použít %(AdditionalIncludeDirectories) k určení adresářů zahrnutí, které se vztahují pouze na konkrétní soubor. Tento druh makra položky odpovídá ItemGroup metadatům v nástroji MSBuild. Pokud se používá v kontextu konfigurace projektu, makro položky se vztahuje na všechny soubory určitého typu. Například konfigurační vlastnost Definice preprocesoru C/C++ může použít makro položky, které se vztahuje na všechny .cpp soubory v projektu. Tento druh makra položky odpovídá ItemDefinitionGroup metadatům v nástroji MSBuild. Další informace naleznete v tématu Definice položek.

Uživatelsky definovaná makra

Makra definovaná uživatelem můžete vytvořit tak, aby se používala jako proměnné v sestaveních projektu. Můžete například vytvořit uživatelem definované makro poskytující hodnotu pro vlastní krok sestavení nebo pro vlastní nástroj sestavení. Uživatelem definované makro je pár název-hodnota. V souboru projektu použijte $(name) notaci pro přístup k hodnotě.

Uživatelem definované makro je uloženo v seznamu vlastností. Pokud projekt ještě neobsahuje seznam vlastností, můžete ho vytvořit pomocí kroků v části Sdílet nebo znovu použít nastavení projektu sady Visual Studio.

Vytvoření uživatelem definovaného makra

  1. Otevřete okno Správce vlastností. Na řádku nabídek vyberte Zobrazit>dalšího správce vlastnostísystému Windows>. Otevřete místní nabídku pro seznam vlastností (jeho název končí .user) a pak zvolte Vlastnosti. Otevře se dialogové okno Stránky vlastností pro tento list vlastností.

  2. V levém podokně dialogového okna vyberte Uživatelská makra. V pravém podokně zvolte tlačítko Přidat makro a otevřete dialogové okno Přidat uživatelské makro .

  3. V dialogovém okně zadejte název a hodnotu makra. Volitelně zaškrtněte políčko Nastavit toto makro jako proměnnou prostředí v prostředí sestavení.

Editor vlastností

Editor vlastností můžete použít ke změně určitých vlastností textového řetězce a vybírat makra jako hodnoty. Editor vlastností otevřete tak, že vyberete vlastnost na stránce vlastností a pak kliknete na šipku dolů na pravé straně. Pokud rozevírací seznam obsahuje <úpravy>, můžete ho zvolit a zobrazit editor vlastností pro tuto vlastnost.

Snímek obrazovky se stránkou vlastností projektu Visual Studio pro adresáře VC++.

Editor vlastností pro nastavení Zahrnout adresáře je otevřený. Zobrazuje vyhodnocenou hodnotu pro adresáře include, což je C:\Program Files(x86)\Microsoft Visual Studio 14.0\VC\Include. Zobrazuje dvě zděděné hodnoty: $(VC_IncludePath) a $(WindowsSDK_IncludePath). Je zaškrtnuto políčko 'Dědit z nastavení nadřazeného projektu nebo výchozího projektu'.

V Editoru vlastností můžete zvolit tlačítko Makra a zobrazit dostupná makra a jejich aktuální hodnoty. Následující obrázek znázorňuje editor vlastností pro vlastnost Další adresáře zahrnutí po stisknutí tlačítka Makra. Když je zaškrtnuté políčko Dědit z nadřazeného projektu nebo výchozích hodnot a přidáte novou hodnotu, připojí se k jakýmkoli hodnotám, které jsou aktuálně zděděné. Pokud zaškrtnutí políčka zrušíte, nahradí nová hodnota zděděné hodnoty. Ve většině případů ponechte políčko zaškrtnuté.

Snímek obrazovky s dialogovým oknem Editor Vlastností po výběru tlačítka Makra.

Otevře se editor vlastností pro Include Directories. Vyhodnocená hodnota se zobrazí spolu s zděděnými hodnotami. Seznam obsahuje různá makra a jejich hodnoty, například $(CharacterSet), které jsou nastavené na Unicode.

Přidání adresáře include do sady výchozích adresářů

Když do projektu přidáte adresář pro zahrnutí, je důležité nepřepsat všechny výchozí adresáře. Správným způsobem, jak přidat adresář, je například připojit novou cestu, jako je C:\MyNewIncludeDir\, a poté připojit makro $(IncludePath) k hodnotě vlastnosti.

Rychlé procházení a vyhledávání všech vlastností

Stránka vlastností Všechny možnosti (v dialogovém okně Stránky vlastností, v uzlu Vlastnosti konfigurace>C/C++) poskytuje rychlý způsob procházení a vyhledávání vlastností, které jsou k dispozici v aktuálním kontextu. Obsahuje speciální vyhledávací pole s jednoduchou syntaxí umožňující filtrovat výsledky:

  • Žádná předpona: Hledat pouze v názvech vlastností (podřetězec bez rozlišování malých a velkých písmen).

  • '/' nebo '-': Hledat pouze v přepínačích kompilátoru (předpona nerozlišující malá a velká písmena).

  • v: Hledání pouze v hodnotách (podřetěžce nerozlišující velká a malá písmena).

Nastavení proměnných prostředí pro sestavení

Kompilátor MSVC (cl.exe) rozpozná určité proměnné prostředí, konkrétně LIB, LIBPATH, PATHa INCLUDE. Při sestavování pomocí integrovaného vývojového prostředí se k nastavení těchto proměnných prostředí používají vlastnosti nastavené na stránce vlastností adresářů VC++. Pokud jsou hodnoty LIB, LIBPATH a INCLUDE již nastaveny, například pomocí Developer Command Promptu, jsou nahrazeny hodnotami odpovídajících vlastností MSBuild. Sestavení pak předpendá hodnotu vlastnosti spustitelných adresářů VC++ do PATH. Proměnnou prostředí definovanou uživatelem můžete nastavit vytvořením uživatelem definovaného makra a zaškrtnutím políčka Nastavit toto makro jako proměnnou prostředí v prostředí sestavení.

Nastavit proměnné prostředí pro ladicí relaci

V levém podokně dialogového okna Stránky vlastností projektu rozbalte Vlastnosti konfigurace a pak vyberte Ladění.

V pravém podokně upravte nastavení projektu Prostředí nebo Sloučit prostředí a pak zvolte tlačítko OK .

Články v této části

Viz také