Udostępnij za pośrednictwem


Instrukcje: dodawanie niestandardowych narzędzi kompilacji do projektów MSBuild

Niestandardowe narzędzie kompilacji to zdefiniowane przez użytkownika narzędzie wiersza polecenia skojarzone z określonym plikiem.

W przypadku określonego pliku określ w pliku projektu (.vcxproj) wiersz polecenia do wykonania, wszelkie inne pliki wejściowe lub wyjściowe oraz komunikat do wyświetlenia. Jeśli program MSBuild ustali, że pliki wyjściowe są nieaktualne względem plików wejściowych, wyświetla komunikat i wykonuje narzędzie wiersza polecenia.

Określanie niestandardowych narzędzi kompilacji i niestandardowych kroków kompilacji

Aby określić, kiedy jest wykonywane niestandardowe narzędzie kompilacji, użyj jednego lub obu CustomBuildBeforeTargets elementów i CustomBuildAfterTargets XML w pliku projektu. Można na przykład określić, że niestandardowe narzędzie kompilacji jest uruchamiane po kompilatorze MIDL i przed kompilatorem języka C/C++. CustomBuildBeforeTargets Określ element do wykonania narzędzia przed określonym uruchomieniem elementu docelowego. CustomBuildAfterTargets Użyj elementu , aby wykonać narzędzie po uruchomieniu określonego elementu docelowego. Użyj obu elementów, aby uruchomić narzędzie między wykonaniem dwóch obiektów docelowych. Jeśli żaden element nie zostanie określony, niestandardowe narzędzie kompilacji zostanie wykonane w jego domyślnej lokalizacji, która znajduje się przed celem MIDL .

Niestandardowe kroki kompilacji i niestandardowe narzędzia kompilacji udostępniają informacje określone w elementach CustomBuildBeforeTargets i CustomBuildAfterTargets XML. Określ te elementy docelowe jednorazowo w pliku projektu.

Aby dodać niestandardowe narzędzie kompilacji

  1. Dodaj grupę elementów do pliku projektu i dodaj element dla każdego pliku wejściowego. Określ polecenie i jego dane wejściowe, dane wyjściowe i komunikat jako metadane elementu, jak pokazano tutaj. W tym przykładzie przyjęto założenie, że plik "faq.txt" istnieje w tym samym katalogu co projekt. Krok kompilacji niestandardowej kopiuje go do katalogu wyjściowego.

    <ItemGroup>
      <CustomBuild Include="faq.txt">
        <Message>Copying readme...</Message>
        <Command>copy %(Identity) $(OutDir)%(Identity)</Command>
        <Outputs>$(OutDir)%(Identity)</Outputs>
      </CustomBuild>
    </ItemGroup>
    

Aby zdefiniować, gdzie w kompilacji są wykonywane niestandardowe narzędzia kompilacji

  1. Dodaj następującą grupę właściwości do pliku projektu. Musisz określić co najmniej jeden z obiektów docelowych. Możesz pominąć drugą, jeśli interesuje Cię tylko wykonanie kroku kompilacji przed (lub po) określonym elementem docelowym. Ten przykład wykonuje krok niestandardowy po skompilowaniu, ale przed połączeniem.

    <PropertyGroup>
      <CustomBuildAfterTargets>ClCompile</CustomBuildAfterTargets>
      <CustomBuildBeforeTargets>Link</CustomBuildBeforeTargets>
    </PropertyGroup>
    

Zobacz też

Przewodnik: tworzenie projektu C++ przy użyciu programu MSBuild
Instrukcje: używanie zdarzeń kompilacji w projektach MSBuild
Instrukcje: dodawanie niestandardowego kroku kompilacji do projektów MSBuild
Typowe makra poleceń i właściwości programu MSBuild
Metadane dobrze znanego elementu programu MSBuild