Udostępnij za pośrednictwem


Określanie narzędzia niestandardowe

A Narzędzia niestandardowe build dostarcza systemowi build potrzebnych informacji zbudować określonych plików wejściowych.Narzędzie niestandardowe build Określa polecenie do uruchomienia, lista plików wejściowych, listę plików wyjściowych, które są generowane przez polecenie i opcjonalny opis tego narzędzia.

Aby uzyskać ogólne informacje dotyczące narzędzia niestandardowe i czynności niestandardowe kompilacji, zobacz Opis czynności niestandardowe kompilacji i zdarzenia kompilacji.

Aby określić niestandardowy zbudować narzędzie

  1. Otwórz projekt Stron właściwości okno dialogowe.Aby uzyskać więcej informacji, zobacz Ustawianie właściwości projektu Visual C++.

  2. Kliknij przycisk Właściwości konfiguracji umożliwiających konfiguracji pole.W konfiguracji polu, wybierz konfigurację, dla którego chcesz określić narzędzia niestandardowe kompilacji.

  3. W Solution Explorer, wybierz plik wejściowe dla narzędzia niestandardowe kompilacji.

    Jeśli Niestandardowego narzędzia do tworzenia nie ma folderu, rozszerzenie pliku wybrano jest skojarzony z domyślne narzędzie.Na przykład narzędzie domyślny dla plików .c i .cpp to kompilator.Aby zastąpić ustawienia domyślne narzędzia, w Właściwości konfiguracji węzła, w Ogólne folderu, w Typu elementu właściwość, kliknij Niestandardowego narzędzia do tworzenia.Kliknij przycisk Zastosuj i Niestandardowego narzędzia do tworzenia węzeł jest wyświetlany.

  4. W Niestandardowe narzędzie budować węzła, w Ogólne folderu, określ właściwości skojarzone z niestandardowym zbudować narzędzie:

    • W Dodatkowe zależności, określić dodatkowe pliki, poza jedną, dla której definiowane są narzędzia niestandardowe build (plik skojarzonej z narzędziem budowania niestandardowego niejawnie uznaje dane wejściowe do narzędzia).Posiadające dodatkowych plików wejściowych nie jest to wymagane dla narzędzia niestandardowe kompilacji.Jeśli masz więcej niż jeden dodatkowych danych wejściowych, należy je oddzielać średnikami.

      Jeśli Dodatkowe zależności pliku, data jest późniejsza niż pliku wejściowego, a następnie uruchomieniu narzędzia niestandardowe kompilacji.Jeżeli wszystkie z Dodatkowe zależności pliki są starsze niż plik wejściowy i pliku wejściowego jest starsza niż wyjść właściwości pliku, a następnie narzędzie budowania niestandardowego nie jest uruchomiony.

      Na przykład załóżmy, że masz narzędzia niestandardowe kompilacji, MyInput.x jako danych wejściowych i generuje MyInput.cpp i że MyInput.x zawiera plik nagłówkowy MyHeader.h.MyHeader.h można określić jako zależność wejściowego do MyInput.x i build system zbuduje MyInput.cpp, gdy jest nieaktualny w odniesieniu do MyInput.x lub MyHeader.h.

      Zależności wprowadzania można także zapewnić, że przez narzędzia niestandardowe kompilacji są uruchamiane w kolejności, potrzebnych im.W poprzednim przykładzie załóżmy, że MyHeader.h jest faktycznie dane wyjściowe narzędzia niestandardowe kompilacji.Ponieważ zależność MyInput.x MyHeader.h, build system najpierw utworzyć przed uruchomieniem narzędzia niestandardowe kompilacji w MyInput.x Myheader.h.

    • W wiersza polecenia, określić polecenie tak, jakby były to określenie w wierszu polecenia.Określ prawidłowy polecenia lub pliku wsadowego i wymaganych danych wejściowych lub wyjściowych plików.Określ call partii polecenia przed nazwą pliku wsadowego, aby zagwarantować, że wszystkie kolejne polecenia są wykonywane.

      Wiele plików wejściowych i wyjściowych można określić symbolicznie przy użyciu makra programu MSBuild.Aby uzyskać więcej informacji dotyczącychOkreślanie lokalizacji plików lub nazwy zestawów plików, zobacz Makra dla poleceń kompilacji i właściwości.

      Ponieważ znak '%' jest zarezerwowana przez program MSBuild, jeżeli określisz, że zmienna środowiskowa zastąpić każdego % escape znaków z %25 szesnastkową sekwencję anulowania.Na przykład zamienić %WINDIR% z %25WINDIR%25.Program MSBuild zastępuje każdy %25 sekwencji z % znak przed uzyskuje dostęp do zmiennej środowiskowej.

    • W Opis, wpisz komunikatu opisowego dotyczącego tego narzędzia niestandardowe kompilacji.Wiadomość jest drukowana na produkcji okna, gdy build system przetwarza to narzędzie.

    • W wyjść, określ nazwę pliku wyjściowego.Jest to pozycja wymagana; bez wartości dla tej właściwości narzędzie niestandardowe kompilacji nie będzie działać.Jeśli narzędzia niestandardowe kompilacji ma więcej niż jeden danych wyjściowych, oddziel średnikami nazwy pliku.

      Nazwa pliku wyjściowego powinny być takie same określone w wiersza polecenia właściwości.System budowania projektu Szukaj pliku i sprawdź jego datę.Plik wyjściowy jest nowsza niż pliku wejściowego lub nie znaleziono pliku wyjściowego, narzędzie niestandardowe kompilacji jest uruchomione.Jeżeli wszystkie z Dodatkowe zależności pliki są starsze niż plik wejściowy i pliku wejściowego jest starsza niż określonego w pliku wyjść właściwość, narzędzie budowania niestandardowego nie jest uruchomione.

Jeśli chcesz, aby system build operowania na plik wyjściowy generowane przez narzędzie do budowania niestandardowego, użytkownik musi ręcznie dodać do projektu.Narzędzie niestandardowe kompilacji zostanie zaktualizowany plik podczas kompilacji.

Przykład

Założono chcesz umieścić w swoim projekcie pliku o nazwie parser.l.Chcesz leksykalne analyzer do przetwarzania parser.l do utworzenia pliku .c, który ma tę samą nazwę bazową (parser.c).

Najpierw należy dodać parser.l i parser.c do projektu.Jeśli jeszcze nie istnieją pliki, wystarczy dodać odwołania do plików.Tworzyć narzędzia niestandardowe kompilacji dla parser.l i wpisz następujące polecenie w polecenia właściwość:

lexer %(FullPath) .\%(Filename).c

To polecenie będzie uruchamiać analizator leksykalny na parser.l i wyjściowe parser.c do katalogu projektu.

W wyjść właściwość, należy wpisać następujące:

.\%(Filename).c

Podczas tworzenia projektu systemu build porównuje sygnatury czasowe, parser.l i parser.c.Jeśli parser.l jest nowsza, lub Jeśli parser.c nie istnieje, system kompilacja jest uruchamiana wartość wiersza polecenia właściwość, aby doprowadzić do parser.c na bieżąco.Ponieważ parser.c również został dodany do projektu, build system kompiluje następnie parser.c.

Zobacz też

Informacje

Rozwiązywanie problemów z dostosowania kompilacji

Inne zasoby

Makra dla poleceń kompilacji i właściwości