tgoop.com/djangolearn_ir/756
Create:
Last Update:
Last Update:
* ابزارهای CMake و MinGW و pkg-config چی هستن؟
یه سوال دیگه هم که میلاد پرسیده بود و گفت بذارم چنل این بود که؛
برای اجرا کردن یه پروژه روی ویندوز یه سری پیش نیازها بود که نصب کرده ولی دقیق متوجه نشده داستانشون چیه.
* CMake
* MinGW
* pkg-config
=+=+=+=+=+=+=+=+=+=+=+
CMake
سیمیک یه
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