Sdílet prostřednictvím


Určení nástrojů vlastního sestavení

Vlastní nástroj sestavení poskytuje systému sestavení informace, které potřebuje k sestavení konkrétních vstupních souborů. Vlastní nástroj sestavení určuje příkaz ke spuštění, seznam vstupních souborů, seznam výstupních souborů generovaných příkazem a volitelný popis nástroje.

Obecné informace o vlastních nástrojích sestavení a vlastních krocích sestavení najdete v tématu Principy vlastních kroků sestavení a událostí sestavení.

Určení vlastního nástroje pro sestavení

  1. Otevřete dialogové okno Stránky vlastností projektu. Další informace naleznete v tématu Nastavení kompilátoru jazyka C++ a vlastností sestavení v sadě Visual Studio.

  2. Chcete-li povolit konfigurační pole, zvolte Vlastnosti konfigurace. V dialogovém okně Konfigurace vyberte konfiguraci, pro kterou chcete zadat vlastní nástroj sestavení.

  3. V Průzkumník řešení vyberte vstupní soubor pro vlastní nástroj sestavení.

    Pokud se složka Nástroje vlastního sestavení nezobrazí, přípona souboru, který jste vybrali, je přidružena k výchozímu nástroji. Například výchozí nástroj pro soubory .c a .cpp je kompilátor. Chcete-li přepsat výchozí nastavení nástroje, v uzlu Vlastnosti konfigurace ve složce Obecné ve vlastnosti Typ položky zvolte Vlastní nástroj sestavení. Zvolte Použít a zobrazí se uzel Vlastní nástroj sestavení.

  4. V uzlu Vlastní nástroj sestavení zadejte ve složce Obecné vlastnosti přidružené k vlastnímu nástroji sestavení:

    • V části Další závislosti zadejte všechny další soubory nad rámec toho, pro který je definován vlastní nástroj sestavení (soubor přidružený k nástroji pro vlastní sestavení se implicitně považuje za vstup do nástroje). Použití dalších vstupních souborů nevyžaduje vlastní nástroj pro sestavení. Pokud máte více než jeden další vstup, oddělte je středníky.

      Pokud je datum souboru Další závislosti pozdější než vstupní soubor, spustí se vlastní nástroj sestavení. Pokud jsou všechny další závislosti starší než vstupní soubor a vstupní soubor je starší než soubor vlastností Outputs , vlastní nástroj sestavení se nespustí.

      Předpokládejme například, že máte vlastní nástroj pro sestavení, který jako vstup vezme MyInput.x a vygeneruje MyInput.cpp a že MyInput.x obsahuje hlavičkový soubor MyHeader.h. Jako vstupní závislost pro MyInput.x můžete zadat MyHeader.h a systém sestavení bude MyInput.cpp, když je zastaralý s ohledem na MyInput.x nebo MyHeader.h.

      Vstupní závislosti také můžou zajistit, aby se vaše vlastní nástroje sestavení spouštěly v pořadí, v jakém je potřebujete. V předchozím příkladu předpokládejme, že MyHeader.h je ve skutečnosti výstupem vlastního nástroje sestavení. Vzhledem k tomu, že MyHeader.h je závislost myInput.x, systém sestavení nejprve sestaví Myheader.h před spuštěním vlastního nástroje sestavení na MyInput.x.

    • V příkazovém řádku zadejte příkaz, jako byste ho zadali na příkazovém řádku. Zadejte platný příkaz nebo dávkový soubor a všechny požadované vstupní nebo výstupní soubory. Zadejte příkaz dávky volání před názvem dávkového souboru, který zaručuje, že se spustí všechny následné příkazy.

      Pomocí maker NÁSTROJE MSBuild lze zadat více vstupních a výstupních souborů symbolicky. Informace o tom, jak určit umístění souborů nebo názvy sad souborů, naleznete v tématu Běžná makra pro příkazy a vlastnosti sestavení.

      Vzhledem k tomu, že znak %' je vyhrazen nástrojem MSBuild, pokud zadáte proměnnou prostředí, nahradí každý % řídicí znak šestnáctkovým sekvencem %25 . Nahraďte například %WINDIR% %25WINDIR%25. Nástroj MSBuild nahradí každou sekvenci %25 znakem % před přístupem k proměnné prostředí.

    • Do popisu zadejte popisnou zprávu o tomto vlastním nástroji sestavení. Zpráva se vytiskne do okna Výstup , když tento nástroj zpracuje systém sestavení.

    • V části Výstupy zadejte název výstupního souboru. Jedná se o povinnou položku; bez hodnoty této vlastnosti se vlastní nástroj sestavení nespustí. Pokud má vlastní nástroj sestavení více než jeden výstup, oddělte názvy souborů středníkem.

      Název výstupního souboru by měl být stejný jako název zadaný ve vlastnosti příkazového řádku . Systém sestavení projektu vyhledá soubor a zkontroluje jeho datum. Pokud je výstupní soubor starší než vstupní soubor nebo pokud se výstupní soubor nenajde, spustí se vlastní nástroj sestavení. Pokud jsou všechny další závislosti starší než vstupní soubor a vstupní soubor je starší než soubor zadaný ve vlastnosti Výstupy , vlastní nástroj sestavení se nespustí.

Pokud chcete, aby systém sestavení fungoval s výstupním souborem vygenerovaným vlastním nástrojem pro sestavení, musíte ho do projektu přidat ručně. Nástroj pro vlastní sestavení aktualizuje soubor během sestavení.

Příklad

Předpokládejme, že chcete do projektu zahrnout soubor s názvem parser.l. Na cestě ke spustitelnému souboru máte lexikální analyzátor, lexer.exe. Chcete jej použít ke zpracování analyzátoru.l k vytvoření souboru .c, který má stejný základní název (parser.c).

Nejprve do projektu přidejte parser.l a parser.c. Pokud soubory ještě neexistují, přidejte odkaz na soubory. Vytvořte vlastní nástroj sestavení pro parser.l a do vlastnosti Commands zadejte následující:

lexer %(FullPath) .%(Název souboru).c

Tento příkaz spustí lexikální analyzátor na analyzátoru parser.l a výstupy parser.c do adresáře projektu.

Do vlastnosti Outputs (Výstupy) zadejte následující:

.%(Název souboru).c

Když projekt sestavíte, systém sestavení porovná časové razítka analyzátoru.l a parser.c. Pokud je analyzátor.l novější nebo pokud analyzátor.c neexistuje, spustí systém sestavení hodnotu vlastnosti příkazového řádku , aby byl analyzátor.c aktuální. Vzhledem k tomu, že se do projektu přidal také analyzátor.c, systém sestavení pak zkompiluje parser.c.

Viz také

Běžná makra pro příkazy a vlastnosti sestavení
Řešení potíží s přizpůsobením sestavení