آموزش Master CMake برای ساخت پروژه Cross-Platform C++

Master CMake for Cross-Platform C++ Project Building

نکته: آخرین آپدیت رو دریافت میکنید حتی اگر این محتوا بروز نباشد.
نمونه ویدیوها:
توضیحات دوره: آموزش قدرتمندترین و توصیه‌شده‌ترین روش ساخت پروژه‌های C++ دستورات و اصطلاحات CMake اهمیت Make و CMake واردات و صادرات بسته‌ها حالت اسکریپت‌نویسی CMake پیکربندی ساختمان پروژه با استفاده از متغیرهای کش پیوند دادن با کتابخانه‌های خارجی پیش نیازها: درک اولیه زبان C یا C++ در ادامه، یک کامپیوتر مبتنی بر لینوکس مورد نیاز است

یادگیری CMake هرگز به این آسانی نبود!

به دوره Master CMake برای ساخت پروژه Cross-Platform C++ خوش آمدید، جایی که ابزار CMake را از ابتدا یاد خواهید گرفت. پس از اتمام این دوره، شما قادر خواهید بود

  • ساخت پروژه های مبتنی بر CMake،

  • پروژه خود را صادر کنید و

  • قابل اجرا خود را با هر کتابخانه مبتنی بر CMake/غیر Cmake پیوند دهید


اکنون ثبت نام کنید و از 3.5 ساعت سواری لذت ببرید تا قدرتمندترین روش ساخت پروژه های C++ را بیاموزید.


این دوره پس از تحقیق گسترده در مورد Stackoverflow، Quora، Reddit، Youtube، و سایر وب‌سایت‌های QA ساخته شده است تا مفاهیمی را که برای مبتدیان درک آنها دشوار است، انتخاب کنید. دوره با کامپایل یک کد ساده C++ شروع می شود. و با افزایش پیچیدگی، بر روی ماژول ها، قابلیت های مختلفی اضافه می شود.

طرح کلی دوره به شرح زیر است:

  1. بخش 1:

    1. مشکلات مربوط به عدم استفاده از سیستم ساخت

    2. تفاوت بین یک سیستم ساخت (Make) و یک سیستم متا ساخت (CMake) .

  2. بخش 2:

    1. نصب CMake

    2. اولین قابل اجرا با استفاده از CMake

  3. بخش 3:

    1. مدیریت پروژه های بزرگ با استفاده از دایرکتوری های فرعی

  4. بخش 4:

    1. متغیرها، فهرست‌ها و رشته‌ها

    2. قابلیت های اسکریپت CMake

  5. بخش 5:

    1. فرمان‌های کنترل جریان (فرمان‌های If-else و حلقه‌ها)

    2. توابع، دامنه‌ها، ماکروها، ماژول‌ها و فهرست فایل‌ها.

  6. بخش 6:

    1. پیکربندی پروژه با استفاده از متغیرهای کش

    2. مفهوم کتابخانه ها

    3. استفاده از Ninja Build System با CMake

  7. بخش 7:

    1. نصب بسته ای که توسط شخص دیگری ایجاد شده است

    2. بسته ما را صادر کنید تا شخص دیگری بتواند از آن استفاده کند

  8. بخش 8: (بخش را بخوانید)

    1. مفاهیم کوچک متفرقه، سوالات متداول و نکات

  9. بخش 9:

    1. مشکلات هنگام نصب و استفاده از کتابخانه های خارجی

    2. استفاده از کتابخانه های خارجی که با استفاده از سیستم های ساخت مبتنی بر CMake و غیر CMake توسعه یافته اند


اکنون ثبت نام کنید و از 3.5 ساعت سواری لذت ببرید تا قدرتمندترین روش ساخت پروژه های C++ را بیاموزید.


سرفصل ها و درس ها

معرفی Introduction

  • نیاز به سیستم های ساخت Need of Build Systems

  • نیاز به سیستم متا بیلد Need of Meta Build System

معرفی Introduction

  • قبل از اینکه شروع کنی Before You Begin

  • قبل از اینکه شروع کنی Before You Begin

  • ساخت یک پروژه C++ با استفاده از G++ Building a C++ Project using G++

  • ساخت یک پروژه C++ با استفاده از G++ Building a C++ Project using G++

  • نیاز به سیستم های ساخت Need of Build Systems

  • نیاز به سیستم متا بیلد Need of Meta Build System

  • تدوین پروژه Project Compilation

  • تدوین پروژه Project Compilation

نصب CMake و ساختن اولین هدف CMake Installation and Building the First Target

  • نصب CMake CMake Installation

  • فرآیند تولید فایل‌ها Build Files Generation Process

  • تولید اولین فایل اجرایی با استفاده از CMake Generating the First Executable using CMake

نصب CMake و ساختن اولین هدف CMake Installation and Building the First Target

  • نصب CMake CMake Installation

  • فرآیند تولید فایل‌ها Build Files Generation Process

  • تولید اولین فایل اجرایی با استفاده از CMake Generating the First Executable using CMake

  • ایجاد اولین کتابخانه Generating the First Library

  • ایجاد اولین کتابخانه Generating the First Library

  • ویژگی ها و وابستگی های اهداف Targets' Properties and Dependencies

  • ویژگی ها و وابستگی های اهداف Targets' Properties and Dependencies

  • سوالات متداول در مورد اهداف FAQ on Targets

  • سوالات متداول در مورد اهداف FAQ on Targets

  • اهداف Targets

  • اهداف Targets

مدیریت فایل ها و پوشه های پروژه با استفاده از زیر شاخه ها Managing Project Files and Folders using Subdirectories

مدیریت فایل ها و پوشه های پروژه با استفاده از زیر شاخه ها Managing Project Files and Folders using Subdirectories

  • دایرکتوری های فرعی Sub-directories

  • دایرکتوری های فرعی Sub-directories

  • مدیریت فایل های هدر Managing Header Files

  • مدیریت فایل های هدر Managing Header Files

  • روشی برای گنجاندن فایل‌های هدر ایجاد کنید CMake way of Including the Header Files

  • روشی برای گنجاندن فایل‌های هدر ایجاد کنید CMake way of Including the Header Files

  • ویژگی های هدف و دامنه انتشار Target Properties and Propagation Scopes

  • ویژگی های هدف و دامنه انتشار Target Properties and Propagation Scopes

  • انتشار خواص هدف Propagation of Target Properties

  • انتشار خواص هدف Propagation of Target Properties

متغیرها، لیست ها و رشته ها Variables, Lists and Strings

  • استدلال های نقل شده و نقل نشده Quoted and Unquoted Arguments

  • دستکاری متغیرها Manipulating Variables

  • لیست ها و رشته ها Lists and Strings

  • متغیرها Variables

متغیرها، لیست ها و رشته ها Variables, Lists and Strings

  • متغیرهای عادی Normal Variables

  • متغیرهای عادی Normal Variables

  • استدلال های نقل شده و نقل نشده Quoted and Unquoted Arguments

  • دستکاری متغیرها Manipulating Variables

  • لیست ها و رشته ها Lists and Strings

  • متغیرها Variables

فرمان های جریان، توابع، ماکروها، دامنه ها و لیست فایل ها را کنترل کنید Control Flow Commands, Functions, Macros, Scopes and Listfiles

  • اگر-الز فرمان If-Else Command

  • کارکرد Functions

  • ماکروها Macros

  • لیست فایل ها و ماژول ها Listfiles and Modules

فرمان های جریان، توابع، ماکروها، دامنه ها و لیست فایل ها را کنترل کنید Control Flow Commands, Functions, Macros, Scopes and Listfiles

  • اگر-الز فرمان If-Else Command

  • حلقه کردن فرمان ها Looping Commands

  • حلقه کردن فرمان ها Looping Commands

  • کارکرد Functions

  • آرگومان های اختیاری توابع Optional Arguments of Functions

  • آرگومان های اختیاری توابع Optional Arguments of Functions

  • محدوده ها Scopes

  • محدوده ها Scopes

  • انتشار خواص هدف Target Properties Propagation

  • انتشار خواص هدف Target Properties Propagation

  • ماکروها Macros

  • توابع و ماکروها Functions & Macros

  • توابع و ماکروها Functions & Macros

  • لیست فایل ها و ماژول ها Listfiles and Modules

متغیرهای کش Cache Variables

  • تنظیم متغیر حافظه پنهان Setting a Cache Variable

  • اصلاح متغیرهای کش Modification of Cache Variables

متغیرهای کش Cache Variables

  • تنظیم متغیر حافظه پنهان Setting a Cache Variable

  • اصلاح متغیرهای کش Modification of Cache Variables

  • متغیرهای حافظه پنهان: CMAKE_VERSION، CMAKE_PROJECT_NAME، CMAKE_GENERATOR Cache Variables: CMAKE_VERSION, CMAKE_PROJECT_NAME, CMAKE_GENERATOR

  • متغیرهای حافظه پنهان: CMAKE_VERSION، CMAKE_PROJECT_NAME، CMAKE_GENERATOR Cache Variables: CMAKE_VERSION, CMAKE_PROJECT_NAME, CMAKE_GENERATOR

نصب و صادرات بسته Installing and Exporting Package

  • صادرات یک بسته Exporting a Package

نصب و صادرات بسته Installing and Exporting Package

  • الزامات برای نصب/صادرات بسته Requirements for Installing/Exporting Package

  • الزامات برای نصب/صادرات بسته Requirements for Installing/Exporting Package

  • مراحل نصب پکیج ها Installation Process of Packages

  • مراحل نصب پکیج ها Installation Process of Packages

  • صادرات یک بسته Exporting a Package

  • استفاده از بسته شخص ثالث در پروژه ما Using a 3rd party Package in our Project

  • استفاده از بسته شخص ثالث در پروژه ما Using a 3rd party Package in our Project

نکات/سوالات متداول Tips/FAQs

  • معرفی Introduction

  • نظر دادن در CMake Commenting in CMake

  • اجرای CMakeLists.txt در حالت اسکریپت Running CMakeLists.txt in Script mode

  • اشکال زدایی/حالت انتشار Debug/Release Mode

نکات/سوالات متداول Tips/FAQs

  • معرفی Introduction

  • نظر دادن در CMake Commenting in CMake

  • استفاده از متغیرهای CMake در فایل های CPP Using CMake variables in CPP files

  • استفاده از متغیرهای CMake در فایل های CPP Using CMake variables in CPP files

  • اجرای CMakeLists.txt در حالت اسکریپت Running CMakeLists.txt in Script mode

  • اشکال زدایی/حالت انتشار Debug/Release Mode

پیوند دادن کتابخانه های خارجی Linking External Libraries

  • مشکلات مرتبط کردن کتابخانه های خارجی Problems with Linking External Libraries

  • استفاده از OpenCV در یک پروژه Using OpenCV in a Project

  • استفاده از Pkg-Config برای پیوند دادن کتابخانه GTK3 Using Pkg-Config to link GTK3 Library

  • دستورات pkg_check_modules() v/s pkg_search_module() pkg_check_modules() v/s pkg_search_module() commands

  • نوشتن یک ماژول Find* Writing a Find* module

پیوند دادن کتابخانه های خارجی Linking External Libraries

  • مشکلات مرتبط کردن کتابخانه های خارجی Problems with Linking External Libraries

  • نصب OpenCV (بسته خارجی) Installation of OpenCV (External Package)

  • نصب OpenCV (بسته خارجی) Installation of OpenCV (External Package)

  • استفاده از OpenCV در یک پروژه Using OpenCV in a Project

  • استفاده از بسته خارجی Using External Package

  • استفاده از بسته خارجی Using External Package

  • استفاده از Pkg-Config برای پیوند دادن کتابخانه GTK3 Using Pkg-Config to link GTK3 Library

  • دستورات pkg_check_modules() v/s pkg_search_module() pkg_check_modules() v/s pkg_search_module() commands

  • دستورات find_library() و find_path(). find_library() and find_path() commands

  • دستورات find_library() و find_path(). find_library() and find_path() commands

  • نوشتن یک ماژول Find* Writing a Find* module

  • خواندن از طریق: FindGTK3.cmake Read Through: FindGTK3.cmake

  • خواندن از طریق: FindGTK3.cmake Read Through: FindGTK3.cmake

جایزه Bonus

  • سخنرانی پاداش Bonus Lecture

جایزه Bonus

  • سخنرانی پاداش Bonus Lecture

نمایش نظرات

آموزش Master CMake برای ساخت پروژه Cross-Platform C++
جزییات دوره
3.5 hours
46
Udemy (یودمی) Udemy (یودمی)
(آخرین آپدیت)
7,603
- از 5
دارد
دارد
دارد
Milan Yadav
جهت دریافت آخرین اخبار و آپدیت ها در کانال تلگرام عضو شوید.

Google Chrome Browser

Internet Download Manager

Pot Player

Winrar

Milan Yadav Milan Yadav

علاقه مندان به رباتیک و محقق فعال