DJANGOLEARN_IR Telegram 756
Forwarded from مطالب رایگان و آزاد🎈 ( behrad)
* ابزارهای CMake و MinGW و pkg-config چی هستن؟

یه سوال دیگه هم که میلاد پرسیده بود و گفت بذارم چنل این بود که؛

برای اجرا کردن یه پروژه روی ویندوز یه سری پیش نیازها بود که نصب کرده ولی دقیق متوجه نشده داستان‌شون چیه.
* CMake
* MinGW
* pkg-config
=+=+=+=+=+=+=+=+=+=+=+


CMake

سی‌میک یه کامپایلره که کدهای C و سی‌پلاس رو کامپایل میکنه...
Update: دوستمون جاوید تذکر داد که در واقع کامپایلر نیست، یه بیلد سیستمه

اپنسورسه و آزاد.
معمولا پروژه هایی که ازش استفاده میکنن، توی دایرکتوری که باید کامپایل صورت بگیره یه فایل به اسم
CMakeLists

CMakeFile

یا همیچن چیزی دارن که توش کانفیگهای کامپایل نوشته شده،
مثل سوئیچ ها، پارامترهای کامپایل، مقادیر پارامترها، کانفیگها، فلگهای کامپایل و این چیزا
هدفش هم اینه که فرایند کامپایل رو ساده کنه، شما فقط میزنی
cmake
و کامپایل اجرا میشه.
=+=+=+=+=+=+=+=+=+=+=+

MinGW

بسیاری از ابزارهای برنامه‌نویسی روی یونیکس سوار شدن، و کسی که طراحیشون کرده، برای ویندوز نسخه‌ای نداده..
پس ویندوز توی یسری از پکیج های پایه‌ای lack ابزار میزنه...
مثلا همین cmake اگر بخواد توی ویندوز اجرا بشه پیچیدگی های زیادی داره،
کانفیگهاشم باید تغییر کنه..،
پس استفاده از جایگذینها به همین سادگی نیست.

مینجی‌دابلیو، یه پروژه اپن‌سورس و آزاد دیگه هست که میاد و ابزارهایی یونیکسی که فقدانشون توی ویندوز احساس میشه رو برای ویندوز "پورت" میکنه...
که دقیقا همونجوری که تحت یونیکس ساده اجرا میشن، بتونن بدون تغییر کانفیگ توی ویندوز هم اجرا بشن...
اولش با پورت کردن کامپایلرا شروع شد و بعدش ابزارهای دیگه ای هم اضافه کردن، و یسری فورک ازش صورت گرفت...،
از روش هم یه محیط بش نوشتن، به اسم MSYS2 که شما بتونی ابزارهای یونیکسی رو تحت ویندوز مثل یه ترمینال لینوکس کار بزنی..،

واضحه که همه پکیجهای لازم توش نیست،
نیازمند یه جامعه بزرگه که دونه دونه ابزارهارو پورت کنن،‌که این اتفاق نمی‌افته چون کار سختیه...
اصلش اینه که ویندوز باید بتونه خودشو با یونیکس هم ادپته کنه.
https://github.com/msys2/MINGW-packages
اینجا لیست ابزارهایی که پورت شدن رو میتونین ببینین.
من با برنامه‌نویسشم حرف زدم خیلی آدم خوبیه!
=+=+=+=+=+=+=+=+=+=+=+

pkg-config

اینم من توی سیستمم دیفالت دارم، میتونیم منوآلش رو بخونیم ببینیم چیه، توی لینوکس یه man قبل از اسم هر پکیج بذاری، بهت منوآلش رو نشون میده:
pkg-config - Return metainformation about installed libraries

The pkg-config program is used to retrieve information about installed libraries in the system. It is typically used to compile and link against one or more libraries.

کتابخونه‌های سیستم رو میخونه که ببینه چیا نصب شدن و ورژنها چنده،
معمولا از این اطلاعات توی کامپایل استفاده میشه...
الان احتمالا اگه بری فایل cmake رو بخونی توش یه جایی پکیج‌کانفیگو کال کرده که کتابخونه هارو فچ کنه و بذاره توی پارامترهای کامپایل.
👍3



tgoop.com/djangolearn_ir/756
Create:
Last Update:

* ابزارهای CMake و MinGW و pkg-config چی هستن؟

یه سوال دیگه هم که میلاد پرسیده بود و گفت بذارم چنل این بود که؛

برای اجرا کردن یه پروژه روی ویندوز یه سری پیش نیازها بود که نصب کرده ولی دقیق متوجه نشده داستان‌شون چیه.
* CMake
* MinGW
* pkg-config
=+=+=+=+=+=+=+=+=+=+=+


CMake

سی‌میک یه کامپایلره که کدهای C و سی‌پلاس رو کامپایل میکنه...
Update: دوستمون جاوید تذکر داد که در واقع کامپایلر نیست، یه بیلد سیستمه

اپنسورسه و آزاد.
معمولا پروژه هایی که ازش استفاده میکنن، توی دایرکتوری که باید کامپایل صورت بگیره یه فایل به اسم
CMakeLists

CMakeFile

یا همیچن چیزی دارن که توش کانفیگهای کامپایل نوشته شده،
مثل سوئیچ ها، پارامترهای کامپایل، مقادیر پارامترها، کانفیگها، فلگهای کامپایل و این چیزا
هدفش هم اینه که فرایند کامپایل رو ساده کنه، شما فقط میزنی
cmake
و کامپایل اجرا میشه.
=+=+=+=+=+=+=+=+=+=+=+

MinGW

بسیاری از ابزارهای برنامه‌نویسی روی یونیکس سوار شدن، و کسی که طراحیشون کرده، برای ویندوز نسخه‌ای نداده..
پس ویندوز توی یسری از پکیج های پایه‌ای lack ابزار میزنه...
مثلا همین cmake اگر بخواد توی ویندوز اجرا بشه پیچیدگی های زیادی داره،
کانفیگهاشم باید تغییر کنه..،
پس استفاده از جایگذینها به همین سادگی نیست.

مینجی‌دابلیو، یه پروژه اپن‌سورس و آزاد دیگه هست که میاد و ابزارهایی یونیکسی که فقدانشون توی ویندوز احساس میشه رو برای ویندوز "پورت" میکنه...
که دقیقا همونجوری که تحت یونیکس ساده اجرا میشن، بتونن بدون تغییر کانفیگ توی ویندوز هم اجرا بشن...
اولش با پورت کردن کامپایلرا شروع شد و بعدش ابزارهای دیگه ای هم اضافه کردن، و یسری فورک ازش صورت گرفت...،
از روش هم یه محیط بش نوشتن، به اسم MSYS2 که شما بتونی ابزارهای یونیکسی رو تحت ویندوز مثل یه ترمینال لینوکس کار بزنی..،

واضحه که همه پکیجهای لازم توش نیست،
نیازمند یه جامعه بزرگه که دونه دونه ابزارهارو پورت کنن،‌که این اتفاق نمی‌افته چون کار سختیه...
اصلش اینه که ویندوز باید بتونه خودشو با یونیکس هم ادپته کنه.
https://github.com/msys2/MINGW-packages
اینجا لیست ابزارهایی که پورت شدن رو میتونین ببینین.
من با برنامه‌نویسشم حرف زدم خیلی آدم خوبیه!
=+=+=+=+=+=+=+=+=+=+=+

pkg-config

اینم من توی سیستمم دیفالت دارم، میتونیم منوآلش رو بخونیم ببینیم چیه، توی لینوکس یه man قبل از اسم هر پکیج بذاری، بهت منوآلش رو نشون میده:
pkg-config - Return metainformation about installed libraries

The pkg-config program is used to retrieve information about installed libraries in the system. It is typically used to compile and link against one or more libraries.

کتابخونه‌های سیستم رو میخونه که ببینه چیا نصب شدن و ورژنها چنده،
معمولا از این اطلاعات توی کامپایل استفاده میشه...
الان احتمالا اگه بری فایل cmake رو بخونی توش یه جایی پکیج‌کانفیگو کال کرده که کتابخونه هارو فچ کنه و بذاره توی پارامترهای کامپایل.

BY جنگولرن


Share with your friend now:
tgoop.com/djangolearn_ir/756

View MORE
Open in Telegram


Telegram News

Date: |

Click “Save” ; In handing down the sentence yesterday, deputy judge Peter Hui Shiu-keung of the district court said that even if Ng did not post the messages, he cannot shirk responsibility as the owner and administrator of such a big group for allowing these messages that incite illegal behaviors to exist. Telegram users themselves will be able to flag and report potentially false content. A new window will come up. Enter your channel name and bio. (See the character limits above.) Click “Create.”
from us


Telegram جنگولرن
FROM American