با استفاده از clang ++ و بومی در ویندوز

این راهنما نحوه نصب Clang ++ و ساخت ویندوز را به شما توضیح می دهد:
به طور خاص ، ما در مورد پروژه MINGW-W64 بحث خواهیم کرد.
در تجربه من ، اجرای این برنامه ها به صورت بومی روی ویندوز سریعتر از آن است که آنها را از لایه های شبیه سازی مانند Cygwin فراخوانی کند.
فهرست مطالب
بارگیری
-
مرورگر وب خود را باز کنید و وب سایت رسمی پروژه پروژه MINGW-W64 را بارگیری کنید:
https://www.mingw-w64.org/
در واقع ، ما می توانیم مستقیم به بخش بارگیری برویم:
https://www.mingw-w64.org/downloads
-
شما چندین پیوند به بسته های مختلف Mingw-W64 همراه با کامپایلرها و نرم افزارهای اضافی پیدا می کنید.
این راهنما روی بسته LLVM تمرکز دارد ،
LLVM-MinGW
، که کامپایلرهای LLVM را فراهم می کند و با هم همراه استmake
وتPython
(نسخه> = 3.9). -
از لینک موجود در وب سایت استفاده کنید یا مستقیماً به این موارد بروید:
https://github.com/mstorsjo/llvm-mingw/releases
در اینجا ، فایلهای زیپ را که حاوی باینری های پیش ساخته ، برای معماری های مختلف پردازنده و سیستم عامل ها هستند ، پیدا می کنید.
-
ما باید درک کنیم که کدام نسخه را می خواهیم بارگیری کنیم. توضیح مختصری در مورد صفحه اصلی پروژه در GitHub یافت می شود:
LLVM MINGW منتشر می شود
ما می خواهیم مستقیماً روی ویندوز کار کنیم ، بنابراین به دنبال پرونده های زیپ هستیم
llvm-mingw-
- -<arch>.zip کجا
-
– یک شماره در حال اجرا که به سادگی نسخه بسته را نشان می دهد -
– کتابخانه C Runtime مورد نیاز است ، که این نیز استmscvrt
یاucrt
بشر اولی MSV C Runtime است که در تمام نسخه های ویندوز در دسترس است اما از ویژگی های کمتری برخوردار است. دومی زمان اجرا جهانی C است که از ویندوز 10 به بعد از قبل نصب شده است. لطفاً توجه داشته باشید که پرونده زیپ آن کتابخانه زمان اجرا را ارائه نمی دهد ، باید اطمینان حاصل کنید که نصب ویندوز شما قبلاً آن را ارائه می دهد. به همین دلیل ، ما MSV C Runtime را انتخاب خواهیم کرد. -
– این نشان دهنده معماری پردازنده است که یکی از موارد زیر است: –i686
، که معماری 32 بیتی اینتل است –x86-64
، که معماری 64 بیتی اینتل است –armv7
، که معماری 32 بیتی بازو است –aarch64
، که معماری 64 بیتی بازو است ، تمام بسته های احتمالی حاوی باینری برای کامپایل هستند برای هر یک از این معماری ها اما این باینری ها فقط اجرا می شوند در معماری مشخص شده به همین دلیل ، شما نیاز به جستجوی کدام پردازنده در دستگاه شما استفاده می کند و بسته مناسب را انتخاب می کند.
بگذارید از این پس تصور کنیم که ما CPU 64 بیتی Intel را انتخاب کرده ایم و فقط به دلایل سازگاری از زمان اجرای MSV C استفاده می کنیم.
نسخه خواهد بود20231003
بشر
شما باید خطوط زیر را با توجه به انتخاب بسته خود سازگار کنید و به احتمال زیاد شماره نسخه شما پیشرفته تر خواهد بود.هر بسته ای را که انتخاب می کنید ، فایل zip را بارگیری کنید.
-
نصب و آزمایش clang و ساخت
- نصب با استفاده از باز کردن به سادگی شروع می شود
.zip
بایگانی و انتقال پوشه به یک مکان مناسب. برای سادگی ، کپی خود را در پوشه بالای درایو اصلی قرار خواهیم دادC:\
بشر اکنون تمام باینری ها در این موارد موجود است:
C:\llvm-mingw-20231003-msvcrt-x86_64
- مهمترین زیر پوشه:
C:\llvm-mingw-20231003-msvcrt-x86_64\bin
که حاوی باینری هایی است که می خواهیم از آنها استفاده کنیم.
-
ما متغیر مسیر ویندوز را تغییر می دهیم. برای این ، ما باید به تنظیمات سیستم پیشرفتهبشر
- پرتابگر را باز کنید و وارد کنید
Advanced System Settings
بشر - از طرف دیگر ، باز کنید
Control Panel
، پسSystem and Security
، پسSystem
، سپس به دنبال تنظیمات سیستم پیشرفتهبشر
- پرتابگر را باز کنید و وارد کنید
-
یک بار تنظیمات سیستم پیشرفته گفتگو باز است ، با عنوان
System Properties
، برگه را باز کنید پیشرفته و روی کلیک کنید متغیرهای محیط …بشر -
در لیست اول ، روی کلیک کنید
Path
و بعد ویرایش …بشر- روی کلیک کنید جدید و وارد مسیر پوشه باینری شوید. در مثال ما:
C:\llvm-mingw-20231003-msvcrt-x86_64\bin
- سپس کلیک کنید خوب در تمام دیالوگ های باز باقی مانده.
-
نصب باید تا الان آماده استفاده باشد.
ما می توانیم هم امتحان کنیم Git Bash ، Cygwin ، Windows PowerShell، یا متوزلی cmd.exeبشر
همه اینها متغیر مسیر Windows را بارگیری می کنند.- هر یک از این فرمان ها را باز کنید و وارد کنید:
clang --version
این باید برخی از توصیف خود از Clang ، از جمله شماره نسخه را نشان دهد.
- Make نام دیگری در این بسته دارد. هر یک از دستورالعمل های فوق را باز کنید و وارد کنید:
mingw32-make --version
باز هم ، بازده نسخه فعلی خود را دریافت خواهید کرد
make
اجرای- در صورت نیاز به چیز دیگری می توانید هر یک از دستورات دیگر را در پوشه باینری جستجو کنید.
یک کلمه احتیاط: درخواست های مختلف فرمان سعی می کنند باینری های مربوطه را در مکان های مختلف جستجو کنند و یک پوشه را بر روی دیگری اولویت بندی کنند.
- به عنوان مثال ، هنگام تماس
gcc
با ساقه ابتدا به دایرکتوری های داخلی خود نگاه می کندgcc
قبل از هرگونه اجرای MINGW32. بنابراین اگر شما ساقه نصب در حال حاضر شامل GCC است ، سپس Cygwin آن را انتخاب می کند. - مثال دیگر: تماس گرفتن
make
در ساقه باینری تماس می گیرد/usr/bin/make
، اماmingw32-make
در سیستم ویندوز شما یافت می شود.
برنامه های UNIX در Windows PowerShell
-
اکنون ما روی MakeFiles و استفاده از آنها از طریق Windows PowerShell تمرکز می کنیم:
اگر MakeFiles شما برای یک محیط UNIX توسعه یافته است ، ممکن است هنگام اجرای ساخت در ویندوز با مشکل روبرو شوید.
وقتی پوسته مثلاً ، همه چیز خوب خواهد بودGit Bash
، که اساسی ترین برنامه های UNIX را فراهم می کند (مانندtouch
باcp
، و غیره). -
با این حال ، شرایطی وجود دارد که شما همچنین می خواهید MakeFile ما را در Windows PowerShell اجرا کنید.
به عنوان مثال ، برخی از IDE برای ویندوز از PowerShell به عنوان ترمینال استاندارد خود استفاده می کنند.
اما همه برنامه های اصلی یونیکس در ظرفیت کامل آنها در ویندوز موجود نیست (به عنوان مثال ،cp -p
گم شده است)
ما می توانیم ابزارهای استاندارد یونیکس را در PowerShell به شرح زیر در دسترس قرار دهیم ، با فرض اینکهGit Bash
قبلاً نصب شده است -
ابتدا محل پرونده های باینری را که همراه با Git Bash هستند ، بررسی کنید. به عنوان مثال ، آن پوشه ممکن است:
C:\Program Files\Git\usr\bin\
یا پوشه نصب شما برای هر چیز دیگری است Git Bash
بشر
-
ما یک بار دیگر متغیر Windows Path را تغییر می دهیم.
پرتابگر را باز می کنیم و وارد می کنیمAdvanced System Settings
بشر
از طرف دیگر ، ما باز می شویمControl Panel
، پسSystem and Security
، پسSystem
، سپس به دنبالAdvanced System Settings
بشر -
پس از باز شدن ویندوز ، نامگذاری شده است
System Properties
، برگه را باز کنیدAdvanced
و روی کلیک کنیدEnvironment Variables...
بشر -
در لیست اول ، روی کلیک کنید
Path
و بعدEdit...
بشر
روی کلیک کنیدNew
و مسیر پوشه باینری را وارد کنیدGit Bash
با
همانطور که در بالا مشخص شد. سپس کلیک کنیدOK
در همه دیالوگ های باز. -
اکنون دستورات یونیکس که با Git Bash همراه هستند نیز باید در Windows PowerShell در دسترس باشند.
برای تست آن ، یک ترمینال Windows PowerShell را باز کنید ، و چیزی مانند:
touch --version
اکنون باید ببینید که در لینوکس چه انتظاری دارید.
به طور مشابه ، همین کار باید اکنون روی ترمینال خط فرمان کلاسیک ویندوز کار کند.