شروق الشمس يدويًا # 2: وفقًا للمتشددين لـ IDE و Cmake وخيبة أملي في الحيوانات

في مقال سابق ، كان لدي الجرأة على استخدام CLion كـ IDE. ثم جاء رجل يركض بسؤال: أوه ، طائرة مدفوعة الملكية ، بيعت ، سنيك ، إلخ. في الإنصاف ، كان هناك تعليق واحد فقط على حبري ، ولكن في الواقع هناك الآلاف منهم. على سبيل المثال ، آخر حساب LOR نشط ، لقد تم تسجيلي منذ عام 2010 ، وفي كل نقاش تقريبًا يتعلق ببعض البرامج المملوكة ، يبدأ هذا الجحيم. من الواضح أنني لن أثبت أي شيء لأي شخص ، لكنه يمكن أن يساعد في تجول النادرين.


تنقسم المقالة بشكل مشروط إلى جزأين: التحفيز الاجتماعي والتقني (كيفية بناء CMake على Windows تحت IDEs مختلفة).




أين ذهب كل شيء


كان هذا التعليق من المقالة الأخيرة هو أساس المقال : "إذا كان البودكاست للمبتدئين وغير المحترفين ، فلماذا لم تأخذ في الاعتبار رخصة IDE :(" وفيما يلي.


تعتمد المقالة على نتائج تيار Twitch وتعليقاتك عليه. السجل على موقع يوتيوب. هذه المقالة ليست نسخة من البودكاست ، ولكنها نتاج لفهمها.



رسالة المصدر


أولاً ، دعنا نتحقق من صحة الافتراض الأصلي: البرنامج مكلف. إذا ذهبت إلى الموقع ، فقد تبين أن CLion تكلف 8.90 دولارات في الشهر. 580 روبل. من الواضح أنه بالنسبة للشخص الذي لا يجعل البرمجة لقمة العيش - يمكن أن يظهر هذا في بعض الأحيان مبلغًا لائقًا يمكن إنفاقه على شيء أكثر فائدة. اشترِ وجبة على سبيل المثال.


بالنسبة للمحترف ، كل شيء مختلف تمامًا ، لكن دعنا نترك هذا الموضوع. يختلف الصحفي عن الموظف في قسم التسويق في الشركة المصنعة للبرامج أو الألعاب من حيث أنه لا يروج لسياسة الحزب ، ولا يتخذ خطوات لترويج المنتج. يتحدث كما هو. كيف كل هذا حقا ، كيف يرى الصحفي حقا سؤال. الأمر نفسه مع المبشرين الحقيقيين.


جوهر الظواهر وخيط السنين
وجوه الأصدقاء وأقنعة الأعداء ،
مرئي بوضوح ولا يمكن الاختباء
من أعين الشاعر - صاحب القرون.

نور النجوم البعيدة وبداية الفجر
اسرار الحياة واسرار الحب
في لحظة إلهام ، دافئة بالشمس -
كل شيء ينعكس في أرواح الشاعر -
في مرآة العالم ...

(ج) كونستانتين نيكولسكي ، مرآة العالم

إذا كان من المثير حقًا كيف يزيد CLion من دخلك ، فستجد شخصًا للاتصال به ، وهنا نتحدث عن شيء آخر.


التصنيف


بدلاً من ذلك ، فكر في مجموعات من الأشخاص الذين تعرضوا للقصف قدر الإمكان من البرامج المغلقة.


كما فهمت بالفعل ، أنا لست nifiga عالم اجتماع ، ولدي فقط التصنيف الذي تطور في خضم مواجهات المنتدى. لديها ميزة فقط أنه من الممكن أن ينسب الشخص إلى مجموعة معينة عمليا دون تضمين الدماغ من خلال النظر في أول تعليقين.


إذن ، الناس هم:


  • مقاتلو الحرية والمصدر المفتوح
  • مخطئ بصدق
  • الحيوانات

أقترح عدم مراعاة خطأ المؤلف. أنا مسألة مختلفة .


مقاتلو الحرية والمصدر المفتوح


الأنقى والألمع هم المقاتلون من أجل الفتح. أنا نفسي من أولئك الذين سمعوا كلمة "لينكس" ، يصححون باستمرار ، "ليس لينكس ، لكن جنو / لينكس" . المشكلة هي أن العالم الحقيقي ليس أبيض وأسود. لدينا قدر معين من الحرية ، وهذا مورد يمكن استخدامه إذا لزم الأمر. كشخص من إدارة موزيلا يمزح (أو لا) ، "لماذا نحتاج إلى ائتمان إذا لم ننفقه؟".


مثال: كان هناك مثل هذا الشخص ، ميغيل دي إيكازا. لقد صنع جنوم وكان له يد في بناء غنو / لينكس مزعج بالطريقة التي نعرفها بها. ثم تم طرده من المجتمع ، ووصفه ستالمان بأنه "خائن للحرية":


"ميغيل دي إيكازا هو في الأساس خائن لمجتمع البرمجيات الحرة. <...> يهدف المشروع إلى ترتيب عمل البرامج التي يفترض أنها "مفتوحة المصدر" على منصة Windows ؛ وبالتالي ، يقضي وقت لا يقدر بثمن للمطورين على منصات مجانية "

وأين ميغيل الآن؟ يعمل هو وفريقه جنبًا إلى جنب مع أحد أعظم المشاريع في السنوات الأخيرة - نقل .NET إلى GNU / Linux بموجب تراخيص متساهلة. أمضى وقته حقا.


في الدفق ، قتلت عشرين دقيقة على الأقل لتعثر CMake تحت Visual Studio Code. لم تنجح. وفي Visual Studio المجاني ، ولكن ليس المجاني ، اتضح في المرة الأولى. هذا هو بالضبط ما نحصل عليه كثيرًا عند محاولة استخدام البرمجيات الحرة: في المصدر المفتوح ، ولأسباب واضحة ، ليس هناك وقت للتفكير من خلال البرامج النصية الشاملة والعناية بالمنتج بأكمله. شكرًا للمطورين على قيامهم بشيء على الأقل. ولكن بالنسبة لنا ، كمستخدمين ، لا يزال لدينا خيار أخلاقي وأخلاقي: إما اختيار الحرية وقضاء الكثير من الوقت في الحصول على البرمجيات الحرة ، أو على العكس ، قضاء حريتنا على شراء الوقت ، والذي يمكن إنفاقه على بعض الأعمال الصالحة.


نظرًا لأن هذه المشكلة خارج نطاق المشكلات الفنية ، فسوف ننتهي هنا. إن الشخص الإيديولوجي الحقيقي صادق في فكرته.


الحيوانات


أوه ، لكن هذه الفئة تقصفني.


"السمات المحددة للشخص الذي يميزه عن الحيوانات الأخرى هي وضعية مستقيمة ، عقل متطور للغاية ، تفكير ولفظ واضح. الشخص يدرس ويغير نفسه والعالم من حوله ، يخلق ثقافة وقصة خاصة به." (ج) ويكيبيديا .

لسوء الحظ ، في محادثة حول IDE ، غالبًا ما يتبين أن المحاور ليس قادرًا على التفكير المستقل ، بدلاً من التعبير عن الكلام ، فإنه يتمتم "ولدي بالفعل معايير" ويأكل ما يعطونه. بسبب الوضع المستقيم ، من السهل الخلط بينه وبين الشخص ، ولكن لا تخطئ.


هذه المخلوقات تركب كل شيء لأي شخص. في الألعاب ، يبيعون صناديق lootbox و DLC مع موسيقى الحنين. في المحررين ، يتم وضعهم في أشياء مختلفة مشغولة شرجياً ، بهدف ربط المريض ببيئة ونظام بيئي معين ، وإلى حد أنه لا حاجة إلى فينازيبام . سوف يأكلون كل شيء. "وكذلك هي المعايير بالنسبة لي."


من المهم أن نضيف أنه ليس فقط المسوقون يقودون على آذانهم ، ولكن أيضًا المتصيدون فقط أو الفصام السريري الطبيعي. هناك العديد من الفصائل ، لن تصدق كم.


على سبيل المثال ، تذكر البيان الذي نشره نيكيتونسكي مؤخرًا (بتعبير أدق ، ترجمته إلى هبر): خيبة أملي في البرمجيات ؟ كيف قصفت منه. آمل بصدق أن نيكيتونسكي كتب كل هذا من أجل لمسه عن عمد ، وليس في الحقيقة.


انظروا ما هي الأطروحات:


  • كل شيء بطيء بشكل لا يحتمل - الهاتف الحديث أقوى من أجهزة الكمبيوتر التي أرسلت الناس إلى القمر ؛
  • كل شيء ضخم - يزن Android 6 غيغابايت ؛
  • كل شيء متعفن - الأجهزة القديمة لا تعمل أو تعمل بشكل سيئ ؛
  • في فوضى البرمجة ، انظر إلى الرسوم البيانية التبعية في npm واليسار.

التصيد هو التصيد ، ولكن قد لا يكون مألوفًا لشخص ما أن حجم شفرة المصدر هو "ما جلب الشخص إلى القمر" ، أي Apollo 11 ، بحيث لا يرغب المؤلف في قراءتها.




تحدد أنظمة التشغيل الحديثة أي معدات ولديها كل شيء في كل مناسبة. أن تباطؤ الأجهزة أدى إلى وضع رائع عندما قام رأسماليون ميريسا بنقل الحديد وتطويره إلى مستوى حديث ، وبفضله لدينا جهاز ضخم لجميع المناسبات. حتى المناشف ليست ضرورية ، فهي متوفرة على Google Play. يسمح npm المذكور للشخص العادي بكتابة أشياء ذات تعقيد لا يمكن تخيله والذي قد يستغرق سنوات قبل ذلك.


وبعد ذلك إلى جميع هؤلاء الرفاق الذين "يأكلون ما يقدمونه" ، بدأت الأفكار الضخمة فجأة من القائمة أعلاه تطير إلى رأسي. دعنا نمتد إلى IDE:


  • بالنسبة للتطبيقات على Electron (Visual Studio Code ، Atom) ، تظهر الأحرف على الشاشة ببطء شديد ، سواء كانت فيم أو إيماكس ؛
  • Eclipse IDE يبطئ ؛
  • بشكل عام ، تتباطأ Java - مع كل ما هو مكتوب عليها ، بما في ذلك NetBeans و IDEA و Clion ؛
  • أي IDE يبطئ تناول الطعام في المئة فقط من هذا القبيل ؛
  • الملكية شر ؛
  • القائمة مستمرة.

هذه القائمة كافية بالفعل لإصلاح السقف. لا تصدق أي قمامة. إذا كان vim أفضل من Eclipse (أو العكس) في بعض الحالات ، فهذا بالتأكيد ليس لأن الجيران يقومون بإشعاع أجهزة إزالة الميكرويف بالميكروويف ، ويختطف الأجانب الكسوف في الليل.


لسوء الحظ ، نتيجة لحروب الحروب طويلة الشبكة ، تم تأسيسها بدقة: لا يمكن أن يكون هناك حوار هنا. للإنسان والإنسان والحيوان. هكذا يتم ترتيب الحياة. احتمالية أن يقرأ شخص ما هذا المقال ويغير رأيه صغير للغاية ، ومُحسَّن .


مخطئ بصدق


لقد انتهينا الآن من التطرف: أذكياء بشكل خاص من طائفة ستالمان على جانب واحد من الطيف ، وليس الحيوانات الذكية جدًا من جهة أخرى ، فلنتحدث عن الأشخاص العاديين.


الاعتقاد الخاطئ الأول هو أننا مسمرون بطريقة أو بأخرى إلى IDE. يعود هذا إلى الوقت الذي استخدم فيه الأشخاص نوعًا من دلفي 7 والإصدارات القديمة من Microsoft Visual Studio. يقولون أنه في Vizhualka الجديد كان كل شيء على ما يرام مع ملفات المشروع. مرحبًا ، الآن هو عام 2018 ، لم يعد هناك عبودية.


للتخلص من العبودية ، تم إعطاؤنا CMake من أعلى: أداة أداة مفتوحة المصدر عبر الأنظمة الأساسية تسمح لك بإنشاء التطبيقات واختبارها وتعبئتها.


لا يزال لا يقول أي شيء للمبتدئ وذراعيه تصل لـ IDE. كل هذا من الخوف وسوء الفهم لما يحدث. أنا نفسي من جاوة ، وبالتالي أعرف جيدًا كيف pom.xml عيون الشخص الذي شاهد pom.xml لأول مرة.


دعونا نكتشف ما يتكون المشروع الذي تم إنشاؤه في المرة الأخيرة ، وكيفية بنائه في جميع أنواع IDE المختلفة.


تكوين الملف:



يتم تجميع جهاز التظليل مباشرة في وقت التشغيل ، باستخدام وظيفة D3DCompile . يعمل D3DCompiler من DirectX SDK (والذي أصبح الآن Windows SDK). لا حاجة IDE لبناء ذلك.


main.cpp هو الملف الوحيد لبناء. ويتم جمعها باستخدام المعلومات الموجودة بالكامل في CMakeLists.txt .


في الاتجاه المعاكس: يوجد CMakeLists.txt الذي يخبرنا بالضبط ما سنقوم CMakeLists.txt . مسجل التجميع main.cpp فيه. هذا يكفي لتجميع المشروع. بعد التجميع ، يتم الحصول على ملف exe ، والذي ، بعد الإطلاق ، يجمع جهاز تظليل ويعرضه على الشاشة. كل شيء بسيط للغاية ، لا يشارك IDE في هذه السلسلة ويمكن أن يكون أي شيء.


IDE اختياري. بشكل عام. ما هو المفهوم هنا؟


التجمع


لحظات تحضيرية


كما هو الحال دائمًا ، يستغرق التحضير معظم العملية. هناك بعض الأشياء التي تحتاج إلى توضيح.


من المفترض أن كل شيء يتم على أساس Msys2 ، الذي قمنا بتثبيته في المرة الأخيرة . إذا لم يكن الأمر كذلك ، فسيتعين عليك أن تفكك نفسك :)


كيفية تثبيت CMake و Ninja


لكي تتمكن من جمع شيء ما ، يجب عليك تثبيت CMake ، إذا لم تكن قد قمت بذلك بالفعل.


  • التنزيل من الموقع: https://cmake.org/download . لدي cmake-3.12.2-win64-x64 ؛
  • قم بفك الحزمة وإضافة المسار إلى المكان الذي يقع فيه cmake.exe في متغير بيئة Windows PATH ؛
  • تحميل من موقع مولد النينجا لأحدث إصدار ؛
  • تفريغ ووضع أيضا في مكان ما في PATH.

كيفية تحرير PATH حتى لا تسافر مثل الوقواق


الطريقة الأولى معروفة للجميع: win + pause -> إعدادات النظام المتقدمة -> Advanced -> متغيرات البيئة. لسوء الحظ ، حتى في Windows 10 ، حيث تمت إضافة محرر متغير PATH ، لا يزال هذا غير ملائم للغاية.


إذا كنت غالبًا ما تلعب مع PATH ، فإن استخدام نافذة التحرير القياسية أمر مزعج للغاية. أنصحك باستخدام Rapid Environment Editor - فهو مجاني ويوفر الكثير من الأعصاب.


كيفية توصيل DLL من MinGW في وضع التطوير


لبدء التطبيق ، تحتاج إلى ملفات dll من mingw64\bin على الأقل.


لسوء الحظ ، لم أجد حلاً مناسبًا حقًا لرمي المكتبات من MinGW إلى PATH. إذا كان بعض المريمية يمكن أن يخبرنا في التعليقات ، سأكون ممتنًا جدًا.


الآن أسهل طريقة هي إرفاق دليل حاوية MinGW مباشرة بالمركز الأول في PATH. (في حالة Visual Studio ، يمكنك ببساطة إسقاط المكتبات في دليل التجميع.) ولسوء الحظ ، فإن هذه الطريقة تحتوي على ناقص كبير: تبدأ بعض البرامج في Windows في السقوط مباشرة بعد تعديل PATH. على سبيل المثال ، توقفت Overwatch عن العمل بالنسبة لي ، وهذا أمر مميت تمامًا.


إذا كنت ، مثلي ، تعيش في جهاز كمبيوتر ، ولم تقم فقط بتشغيله خلال ساعات العمل ، يتم اقتراح المخطط التالي: أضف MinGW إلى PATH قبل البرمجة ، ثم قم بإزالته. لتسهيل العملية ، تحتاج إلى إنشاء ملفين دفعيين يمكن تشغيلهما بالنقر المزدوج:


before.bat:


 setx path "Z:\msys64\mingw64\bin;%path%" 

after.bat:


 setx PATH "%PATH:Z:\msys64\mingw64\bin;=%" 

كيفية توصيل DLL في وضع الإصدار التجريبي


من الواضح أن الطريقة السابقة تعمل فقط عندما يكون mingw64\bin في PATH ، أي فقط على كمبيوتر المطور. وحتى هناك ، لا تريد دائمًا تشويه PATH. إذا بدأ شخصًا عاديًا (أو أنفسنا بعد after.bat) ، فعندئذ شيء مثل:





أسهل طريقة لحل هذه المشكلة هي وضع ملف dll اللازم بجوار الملف القابل للتنفيذ. ولكن لهذا تحتاج إلى معرفة ما هي dlls المستخدمة!


لدينا بالفعل بعض الأدوات المساعدة من Microsoft لهذا الغرض.


  • يمكن رؤية قائمة كاملة بتطبيق قيد التشغيل باستخدام ListDLLs ، لكنها لا تُظهر ما لم يتم تحميله بعد.
  • إذا قمت بإجراء أدوات -> موجه أوامر Visual Studio ، dumpbin /dependents "Z:\game\build\Mingw64-Debug\src.exe" ، فسيتم عرض dll للمستوى الأول فقط. بمعنى آخر ، إذا أنهيت فقط ما يخبرك به صندوق القمامة ، فستظل هناك أخطاء بعد الإطلاق - وستكون ببساطة حول DLLs أخرى.

للتشغيل من خلال التبعيات بعمق ، هناك مثل هذا البرنامج النصي الذي يمكن تنفيذه مباشرة من سطر الأوامر (msys2 ، cygwin ، وما إلى ذلك - بما يكفي لتثبيت python2 / 3 و objdump في الداخل).


  • قم بتنزيل البرنامج النصي mingw-المجمعة ،
  • ضع بجانب الملف ،
  • في محرر النصوص ، في blacklist = [ الصفيف blacklist = [ أضف قطع DirectX: d3d10.dll, d3d11.dll, d3dcompiler_43.dll ،
  • chmod 755 ./mingw-bundledlls ،
  • لمشاهدة ملفات ./mingw-bundledlls ./src.exe المستخدمة: ./mingw-bundledlls ./src.exe (حسنًا ، أي ملف قابل للتنفيذ تهتم به أكثر) ،
  • للنسخ ووضع التالي تلقائيًا: ./mingw-bundledlls --copy ./src.exe
  • الربح: يتم تشغيل الملف التنفيذي على هذا النحو ، عن طريق النقر المزدوج على الملف exe ، ومن Visual Studio.

لا تزال هناك طرق صعبة مختلفة للتعاقد مع CMake لنسخ dll نفسه ، ولكن إذا بدأت في الخوض في مشكلات التوزيع ، فلا يمكنك أبدًا إنهاء هذه المقالة على الإطلاق.


تجميع يدوي


  • قبل. bat
  • ابدأ -> تشغيل -> cmd.exe
  • cd /dz://game/src
  • cmake -G "Ninja" -D EXECUTABLE_OUTPUT_PATH="bin" -D CMAKE_CXX_COMPILER="Z:/msys64/mingw64/bin/g++.exe" -D CMAKE_C_COMPILER="Z:/msys64/mingw64/bin/gcc.exe" .
  • النينجا
  • قم بتشغيل الملف الذي تم إنشاؤه في سلة المهملات على الفور ، أو قم بإرفاق ملف dll وفقًا للتعليمات أعلاه ثم قم بتنفيذ بعد

لقد أثبتنا أننا لسنا مرتبطين بـ IDE على الإطلاق.


البناء في Visual Studio


ولكن مع ذلك ، فإن التطور بدون IDE ليس هو الشيء. آخر مرة ، قمنا بالفعل بتجميع تطبيق اختبار باستخدام CLion. ولكن هذا هو الملكية المدفوعة و zashkvar ، أليس كذلك؟ إنسي الأمر الآن مجاني فقط.


في Visual Studio ، تسلسل الإجراءات الضرورية بسيط للغاية.


  • قبل. bat
  • تشغيل Visual Studio ؛
  • ملف -> فتح -> CMake ؛
  • حدد CMakeLists.txt ؛
  • يفكر المصور ويعرض المشروع لفترة من الوقت ؛
  • القائمة الرئيسية -> ذاكرة التخزين المؤقت -> إنشاء -> اسم المشروع ؛
  • نحن ننظر إلى Output ونصلح الأخطاء (على سبيل المثال ، أقسمت على إصدار CMake ، واضطررت إلى خفضه إلى 3.11 بدلاً من 3.12) ؛
  • القائمة الرئيسية -> CMake -> تغيير إعدادات CMake (حدد MinGW64-Debug) ؛
  • يتم إنشاء ملف CMakeSettings.json تلقائيًا في المشروع. نشير إلى المسار إلى MinGW هناك (لقد كان في الفيديو السابق "Z: \ msys64 \ mingw64") ، احفظ الملف ؛
  • القائمة الرئيسية -> ذاكرة التخزين المؤقت -> إنشاء -> CMakeLists.txt ؛
  • القائمة الرئيسية -> ذاكرة التخزين المؤقت -> إنشاء -> اسم المشروع ؛
  • إذا تم تنفيذ كل شيء بشكل صحيح ، فسيظهر عنصر باسم المشروع في قائمة تحديد عنصر بدء تشغيل صالح (بجوار السهم الأخضر لبدء تشغيل التطبيق) ؛
  • نبدأ.

كما في حالة وحدة التحكم ، يمكنك إما تشغيلها بشكل صحيح (تذكر أن MinGW في PATH) ، أو تنفيذ after.bat ووضع ملفات DLL الضرورية وفقًا للتعليمات. يجب وضع DLL مباشرة في الدليل حيث يتجه التطبيق. يمكن تحديده في معلمة buildRoot في ملف CMakeSettings.json.


لذا ، أيها السادة ، أهم شيء: من Visual Studio ، كل شيء يتم تجميعه وتشغيله بشكل مثالي. لقد أثبتنا أننا لسنا مرتبطين بـ IDE تجاري.


البناء في كود Visual Studio


لسوء الحظ ، لا يزال برنامج Visual Studio غير برمجيات المصدر مغلق الملكية. نحن بحاجة إلى الانتقال إلى شيء أكثر حرية ، وهذا هو Visual Studio Code.


أول عقل مضحك. إذا قمت بتشغيل VSCode على شاشة ذات مقياس كبير (أجلس في المنزل أشاهد التلفاز على سبيل المثال) ، فإن واجهة VSCode ستتحول إلى فوضى. لمنع حدوث ذلك ، تحتاج إلى تشغيله باستخدام المفتاح --force-device-scale-factor (قم بعمل اختصار لسطح المكتب ، أو شيء من هذا القبيل).


لسوء الحظ ، لم أتقن إدارة PATH لـ VSCode ، لذا فإن الطريقة الوحيدة لبدء تشغيلها هي تعديل PATH باستخدام before.bat وأداة اختراق أخرى ، والتي سأصفها أدناه.


بعد ذلك ، تحتاج إلى تكوين VSCode.


  • تثبيت أدوات CMake: عرض -> الإضافات -> في البحث ، أدخل "أدوات CMake" ، انقر فوق تثبيت أمام الحزمة التي قدمها مؤلف ناقل المتجه.
  • عرض -> Explorer -> فتح مجلد (حدد الدليل بمشروعنا) ؛
  • لوحة الأوامر (CP ، الاختصار Ctrl + P) -> "> CMake: Scan for Kits" ؛
  • اختر "GCC 8.2.0" الخاص بنا ، والذي يؤدي إلى المكان الصحيح حيث تم تثبيت msys2 أو ما تستخدمه هناك ؛
  • ملف> تفضيلات> الإعدادات ؛
  • انتقل إلى علامة التبويب إعدادات المستخدم ؛
  • انقر على النقاط الثلاث في الزاوية اليمنى العليا من اللوحة ، وحدد "فتح الإعدادات. json" من القائمة ؛
  • أضف الخيارات التالية:

 "cmake.configureOnOpen": true, "terminal.integrated.shell.windows": "D:/msys64/usr/bin/bash.exe", "terminal.integrated.shellArgs.windows": [ "-i" ], "terminal.integrated.env.windows": { "PATH": "/mingw64/bin;/usr/local/bin;/usr/bin;/bin;Z:/msys64/bin/;Z:/msys64/usr/local/bin;Z:/msys64/usr/bin;Z:/msys64/bin;Z:/msys64/mingw64/bin/;%PATH%" }, "cmake.buildDirectory": "${workspaceRoot}/build/${buildType}", "cmake.clearOutputBeforeBuild": true, "cmake.generator": "Ninja", "cmake.cmakePath": "C:\\my\\opt\\cmake-3.12.2-win64-x64\\cmake-3.12.2-win64-x64\\bin\\cmake.exe", "cmake.mingwSearchDirs": [ "Z:/msys64/mingw64", ], "cmake.preferredGenerators": [ "Ninja" ], "cmake.loggingLevel": "debug" 

  • يجب أن يحدث البناء تلقائيًا ، وسيتم طي build دليل build . إذا لم يحدث ذلك ، فأنت بحاجة إلى النقر فوق الزر " Build باستخدام الترس الموجود في سطر الحالة باستخدام الماوس.

من الواضح أنك تحتاج إلى تحديد مسار mingw و cmake مباشرةً. "لكن لدي PATH!" أشر فقط ، من فضلك ، هذا سوف يحل مجموعة كاملة من المشاكل.


ومع ذلك ، هناك طريقة واحدة حصرية لعدم التخلص من PATH.


  • "cmake.generator": "MSYS Makefiles"
  • "cmake.preferredGenerators": [ "MSYS Makefiles"]
  • تحقق من أن MinGW ليس في PATH (after.bat) ؛
  • تحقق من إزالة دليل البناء في المشروع.
  • قم بتشغيل وحدة التحكم Msys2 ؛
  • export PATH=/z/msys64/mingw64/bin;$PATH (يمكنك بعد ذلك إدخاله في نوع من "~/.bashrc" )
  • شغّل VSCode منه ، على سبيل المثال ، مثل هذا: "C:\Users\olegchir\AppData\Local\Programs\Microsoft VS Code\Code.exe"
  • ثم كل شيء كما كان من قبل. يجب إنشاء الملف بشكل طبيعي.
  • عندما تحاول بدء تشغيله على الفور من Explorer بنقرة مزدوجة ، فإنه يؤدي على الفور إلى أخطاء بحث DLL - وهذا يعني أن كل شيء صحيح ، فنحن نستخدم بالفعل PATH خاص داخل VSCode ، ولكن ليس بالخارج.

لذا ، أثبتنا أنه في بيئة تطوير متكاملة مجانية يمكننا أيضًا أن نعيش لأنفسنا تمامًا.


الملخص


تلخيص ، إذا كنت شخصًا عاديًا ، فيمكنك استخدام CMake و MinGW ولا تنفجر في الشارب. كل شيء محمول بحرية بين IDE ، كل شيء يعمل فقط. يمكننا استخدام أي بيئة تطوير متكاملة مدفوعة ومغلقة وغير مجانية في أي وقت ، ولن نكون مناسبين لذلك. لكن الجميع سيعاني ، وهو محق في ذلك.


ستأخذ المقالات المستقبلية في الاعتبار رأيك. يمكنك طرح الأسئلة وتقديم الاقتراحات في التعليقات مباشرة أثناء تدفق Twitch . يعتمد ما إذا كانت هذه المقالات على الإطلاق على مدى الضغط بعنف على السهم أسفل هذا التعليق.


                  

© ألكسندر ريفسكي

Source: https://habr.com/ru/post/ar425209/


All Articles