الإرشادات التفصيلية: استخدام ‏‫MSBuild إلى إنشاء مشروع C + + Visual

توضح هذه معاينة كيفية إلى استخدام MSBuildإلى بناء Visual C++مشروع في تعجيل الأوامر. سوف تتعلم كيفية إنشاء مصدر C + + ملف s ومشروع يستند إلى XML ملف Visual C++تطبيق وحدة تحكم. بعد بنية مشروع، سوف تتعلم كيفية إلى cusإلىmize عملية البنية.

توضح هذه الإرشادات التفصيلية المهام التالية:

  • إنشاء في C + + ملفات مصدر للمشروع.

  • إنشاء XML MSBuildملف مشروع.

  • استخدام MSBuildإلى بنية مشروع الخاص بك.

  • استخدام MSBuildإلى cusإلىmize مشروع الخاص بك.

المتطلبات الأساسية

You need the following إلى إكمال this معاينة:

  • Visual Studio 2010

  • فهم عامة MSBuildالنظام.

قم بإنشاء ملفات مصدر C + +

في هذه معاينة يتم إنشاء مشروع يحتوي على مصدر ملف وعنوان ملف. المصدر ملف main.cpp يحتوي على دالة الرئيسي للتطبيق وحدة التحكم. main.h ملف الرأس يحتوي على تعليمات برمجية إلى يتضمن الملف رأس iostream. يمكنك إنشاء هذه C + + ملفات باستخدام Visual Studioأو محرر نص.

إلى إنشاء الملفات المصدر C + + للمشروع

  1. إنشاء الدليل لجهاز مشروع.

  2. إنشاء ملف هو المسمى main.cpp وقم بإضافة التعليمة البرمجية التالية إلى رقم هو الملف:

    // main.cpp : the application source code.
    #include <iostream>
    #include "main.h"
    int main()
    {
       std::cout << "Hello, from MSBuild!\n";
       return 0;
    }
    
  3. إنشاء ملف هو المسمى main.h وقم بإضافة التعليمة البرمجية التالية إلى رقم هو الملف:

    // main.h: the application header code.
    /* Additional source code to include. */
    

إنشاء ‏‫MSBuild XML ملف مشروع

MSBuildملف مشروع هو ملف XML الذي يحتوي على عنصر جذر مشروع (<Project>). في مشروع المثال التالي، على العنصر <مشروع> 7 فرع العناصر:

  • ثلاثة عنصر مجموعة العلامات (<ItemGroup>) التي تحدد النظام الأساسي، وتكوين مشروع المصدر ملف الاسم ورأس ملف اسم.

  • ثلاثة باستيراد علامات (<استيراد>) تحديد الالموقع Microsoft Office 2010 Suite Visual C++إعدادات.

  • خاصية مجموعة علامة (< خاصية مجموعة >) الذي يقوم بتعيين إعدادات مشروع.

إلى إنشاء ملف مشروع ‏‫MSBuild

  1. استخدام محرر نصي لإنشاء مشروع ملف الذي يسمى myproject.vcxproj، ثم قم بإضافة ما يلي الجذر <Project> العنصر. إدراج عناصر في إجراء الخطوات التالية بين علامات الجذرية <مشروع>:

    <Project DefaultTargets="Build" ToolsVersion="4.0" xmlns=https://schemas.microsoft.com/developer/msbuild/2003>
    </Project>
    
  2. إضافة التالية الثاني <ProjectConfiguration> العناصر التابعة في عنصر <ItemGroup>. فرع تحدد عنصر يصحح وقم بتحرير التكوينات لنظام تشغيل Windows 32 بت:

    <ItemGroup>
       <ProjectConfiguration Include="Debug|Win32">
          <Configuration>Debug</Configuration>
          <Platform>Win32</Platform>
       </ProjectConfiguration>
       <ProjectConfiguration Include="Release|Win32">
          <Configuration>Release</Configuration>
          <Platform>Win32</Platform>
       </ProjectConfiguration>
    </ItemGroup>
    
  3. إضافة التالية <استيراد/> العنصر الذي يحدد مسار الإعدادات C + + الافتراضي لهذا مشروع:

    <Import Project="$(VCTargetsPath)\Microsoft.Cpp.default.props" />
    
  4. إضافة خاصية المجموعة العنصر التالي (<PropertyGroup>) الذي يحدد المشروع بين خصائص:

    <PropertyGroup>
       <ConfigurationType>Application</ConfigurationType>
       <ShowAllFiles>false</ShowAllFiles>
    </PropertyGroup>
    
  5. إضافة التالية <استيراد/> العنصر الذي يقوم بتعيين مسار للإعدادات الحالي لهذا مشروع C + +:

    <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
    
  6. إضافة عنصر فرع <ClCompile> التالية في عنصر <ImportGroup>. العنصر الفرع بتعيين اسم المصدر C/C + + ملف ترجمة:

    <ItemGroup>
       <ClCompile Include="main.cpp" />
    </ItemGroup>
    
  7. إضافة عنصر فرع <ClInclude> التالية في عنصر <ImportGroup>. التابع عنصر بتعيين اسم ملف الرأس لملف مصدر C/C + +:

    <ItemGroup>
       <ClInclude Include="main.h" />
    </ItemGroup>
    
  8. قم بإضافة ما يلي <استيراد> العنصر الذي يحدد مسار للملف الذي يقوم بتعريف الهدف لهذا مشروع:

    <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Targets" />
    

إكمال ملف مشروع

إظهار التعليمة البرمجية التالية ملف مشروع كاملا الذي قمت بإنشائه في إجراء السابق.

<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="https://schemas.microsoft.com/developer/msbuild/2003">
  <ItemGroup>
    <ProjectConfiguration Include="Debug|Win32">
      <Configuration>Debug</Configuration>
      <Platform>Win32</Platform>
    </ProjectConfiguration>
    <ProjectConfiguration Include="Release|Win32">
      <Configuration>Release</Configuration>
      <Platform>Win32</Platform>
    </ProjectConfiguration>
  </ItemGroup>
  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.default.props" />
  <PropertyGroup>
    <ConfigurationType>Application</ConfigurationType>
    <ShowAllFiles>false</ShowAllFiles>
  </PropertyGroup>
  <Import Project="$(VCTargetsPath)/Microsoft.Cpp.props" />
  <ItemGroup>
    <ClCompile Include="main.cpp" />
  </ItemGroup>
  <ItemGroup>
    <ClInclude Include="main.h" />
  </ItemGroup>
  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Targets" />
</Project>

تستخدم MS بنية إلى بنية مشروع الخاص بك

نوع الأمر التالي في تعجيل الأوامر لإنشاء تطبيق وحدة تحكم الخاصة بك:

msbuild myproject.vcxproj /p:configuration=debug

MSBuildيقوم بتوليد direcإلىry لملفات الإخراج، ثم تجميع ويربط مشروع إلى توليد برنامج Myproject.exe. بعد انتهاء عملية التصنيع، استخدم الأمر التالي إلى تشغيل تطبيق:

myproject

يجب أن يقوم تطبيق بعرض "مرحبا، من ‏‫MSBuild!" في نافذة وحدة التحكم.

تخصيص مشروع الخاص بك

MSBuildيتيح لك إلى ينفذ أهداف البنية المعرفة مسبقاً وتطبيق الخصائص المعرفة من قبل مستخدم، واستخدام cusإلىm إلى ols، والأحداث، وبناء الخطوات. يوضح هذا القسم المهام التالية:

  • استخدام MSBuildمع بنية الأهداف.

  • استخدام MSBuildمع بنية الخصائص.

  • استخدام MSBuildمع toolsets مختلفة.

  • إضافة MSBuildالتخصيصات.

تستخدم MS بنية مع بنية الأهداف

بنية الهدف هي التعيين معرفة مسبقاً أو معرفة من قبل مستخدم من الأوامر التي يمكن تنفيذها أثناء مسماة بنية. استخدم خيار سطر الأوامر الهدف ( /t) إلى تحديد هدف الإنشاء. في الحالة الخاصة myproject مشروع المثال وتم تعريفها مسبقاً cleanقم بحذف الجميع الملفات في المجلد يصحح الهدف وإنشاء جديد يسجل ملف.

في تعجيل الأوامر، اكتب الأمر التالي لتنظيف myproject.

msbuild myproject.vcxproj /t:clean

تستخدم MS بنية مع خصائص بنية

خيار سطر الأوامر للخاصية ( /p) تمكنك من يمنع خاصية في بناء مشروع الخاص بك ملف. في myprojectمشروع على سبيل المثال، تكوين البنية الإصدار أو تصحيح هو محدد بواسطة Configurationخاصية. النظام تشغيل التي تهدف إلى المضمن بتشغيل تطبيق المحدد بواسطة Platformخاصية.

في تعجيل الأوامر، اكتب الأمر التالي لبنية بنية يصحح من myprojectالتطبيقات التي هو مخصص لتشغيله تشغيل Windows 32 بت.

msbuild myproject.vcxproj /p:configuration=debug /p:platform=win32

تفترض التي myprojectمشروع أيضا بتعريف تكوين ل Windows من النوع 64 بت، مثال و تكوين آخر لنظام التشغيل مخصص يسمى myplatform.

في تعجيل الأوامر، نوع الأمر التالي لإنشاء بنية إصدار الذي يعمل تشغيل Windows 64 بت.

msbuild myproject.vcxproj /p:configuration=release /p:platform=x64

في تعجيل الأوامر، نوع الأمر التالي لبنية بنية إصدار ل myplatform.

msbuild myproject.vcxproj /p:configuration=release /p:platform=myplatform

استخدام ‏‫MSBuild مع ‏‫مجموعة الأدوات مختلفة

إذا كان لديك كلاهما Visual C++9.0 و 10.0 المكتبات (toolsets) مثبتة، MSBuildيمكن بنية التطبيقات الخاصة بكل منهما Visual C++9.0 أو 10.0. لتحديد Visual C++‏‫مجموعة الأدوات 9.0، قم بإضافة عنصر مجموعة الخصائص التالية إلى ملف مشروع Myproject.vcxproj بعد Microsoft.Cpp.props<استيراد/> العنصر:

<PropertyGroup>
    <PlatformToolset>v90</PlatformToolset>
</PropertyGroup>

لإعادة إنشاء مشروع الخاص بك مع Visual C++9.0 ‏‫مجموعة الأدوات، نوع أيا من الأمرين التاليين:

msbuild myproject.vcxproj /p:PlatformToolset=v90 /t:rebuild 
msbuild myproject.vcxproj /t:rebuild

إضافة تخصيصات ‏‫MSBuild

MSBuildيوفر طرق مختلفة إلى cusإلىmize عملية التصنيع الخاصة بك. عرض صور إلى التالية كيفية إلى إضافة خطوات بنية cusإلىm إلى ols وأحداث إلى الخاص بك MSBuildمشروع: