Heim >Backend-Entwicklung >C++ >Visual Studio und MSBuild

Visual Studio und MSBuild

Susan Sarandon
Susan SarandonOriginal
2024-12-14 16:25:11128Durchsuche

Visual Studio and MSBuild

Visual Studio – Entwicklung zum Ausführen von Programmen und Dateien im Code- und Bibliotheksassembly-Modus.

<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
  <ItemGroup Label="ProjectConfigurations">
    <ProjectConfiguration Include="Debug|Win32">
      <Configuration>Debug</Configuration>
      <Platform>Win32</Platform>
    </ProjectConfiguration>
    <ProjectConfiguration Include="Release|Win32">
      <Configuration>Release</Configuration>
      <Platform>Win32</Platform>
    </ProjectConfiguration>
  </ItemGroup>
</Project>

Am Beispiel der implementierten Datei mit der Erweiterung .vcxproj sehen wir die Struktur, die MSBuild in einer bestimmten Reihenfolge zusammenstellen wird.

<ItemGroup>
    <ClCompile Include="AssemblyInfo.cpp" />
    <ClCompile Include="stdafx.cpp">
      <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Create</PrecompiledHeader>
      <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Create</PrecompiledHeader>
    </ClCompile>
    <ClCompile Include="UnitTest.cpp" />
  </ItemGroup>
  1. Verschiedene Abstraktionsebenen wie bestimmen die Reihenfolge, in der der Compiler beim Ausführen von Code erstellt und konfiguriert wird
  2. Xml-Struktur, .vcxproj.filters, .vcxproj.userreserviert nicht nur Platz auf der Festplatte, sondern weist, ähnlich wie Docker, auch einen Container für die ausführbare Datei zu und sichert Änderungen
  3. Das Schema beinhaltet die Angabe einer bestimmten Assembly mit einem Dateipfad auf der Microsoft-Website xmlns="http://schemas.microsoft.com/developer/msbuild/2003

Verschiedene mobile Betriebssysteme (Android/iOS) verfügen über unterschiedliche ausführbare Programm-Engines. Ebenso berücksichtigen wir beim Start von VS die Umgebung und den Typ unserer Strukturen.

<ItemGroup>
    <ClInclude Include="stdafx.h">
      <Filter>Header files</Filter>
    </ClInclude>
    <ClInclude Include="resource.h">
      <Filter>Header files</Filter>
    </ClInclude>
    <ClInclude Include="..\..\RootFinder\RootFinder\RootFinder.h">
      <Filter>Header files</Filter>
    </ClInclude>
  </ItemGroup>
  <ItemGroup>
    <ResourceCompile Include="app.rc">
      <Filter>Resource files</Filter>
    </ResourceCompile>
  </ItemGroup>
  <ItemGroup>
    <Image Include="app.ico">
      <Filter>Resource files</Filter>
    </Image>
  </ItemGroup>

Wir listen explizit die an der Assembly beteiligten Dateiklassen und den Namen mit Erweiterung auf. Dadurch werden Projektobjekte gefiltert, klassifiziert nach ausführbaren Ordnern.

Das obige ist der detaillierte Inhalt vonVisual Studio und MSBuild. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn