البرمجة

كيفية كشف وتجنب MSVC 64 بت باستخدام CMake

للتحقق مما إذا كانت الـ MSVC 64 بت مستخدمة في مشروعك مع CMake، يمكنك اتباع بعض الخطوات. في البداية، يُفضل التأكد من أن CMake يقوم بتحديد المولد (generator) بشكل صحيح لـ MSVC 64 بت. ثم يمكنك استخدام معلمات CMake المتاحة للكشف عن نوع المولد المستخدم.

أولاً، يجب التأكد من أن CMake يستخدم المولد الصحيح لنظام التشغيل الذي تعمل عليه. يمكنك القيام بذلك عن طريق تحديد المولد الصحيح عند تشغيل CMake. على سبيل المثال، لتوليد ملفات المشروع والحلول ل MSVC 64 بت، يمكنك استخدام الأمر التالي:

bash
cmake -G "Visual Studio 15 2017 Win64" <مسار_مجلد_المشروع>

حيث “Visual Studio 15 2017 Win64” هو اسم المولد الذي يشير إلى MSVC 64 بت لـ Visual Studio 2017. يمكنك تغيير الرقم والإصدار بما يتناسب مع إصدار الـ Visual Studio الذي تستخدمه.

بعد ذلك، بمجرد تأكيد أن CMake يستخدم المولد الصحيح، يمكنك استخدام المعلمات الخاصة بـ CMake للكشف عن نوع المولد. يمكنك استخدام المعلمة CMAKE_GENERATOR_TOOLSET للتحقق من الأدوات المستخدمة بواسطة المولد. على سبيل المثال، يمكنك التحقق من معلمة CMAKE_GENERATOR_TOOLSET في ملف CMakeLists.txt الخاص بمشروعك كما يلي:

cmake
if(CMAKE_GENERATOR_TOOLSET MATCHES "host=x64") # إذا كان المولد يستخدم أدوات 64 بت # قم بتخطي الهدف الخاص بـ MSVC 32 بت else() # إذا كان المولد لا يستخدم أدوات 64 بت # قم بإضافة الهدف الخاص بـ MSVC 32 بت if (MSVC) add_library(test SHARED source.cpp) endif() endif()

هذا الكود يتحقق من معلمة CMAKE_GENERATOR_TOOLSET ويقارنها بـ “host=x64” للتأكد مما إذا كان المولد يستخدم أدوات 64 بت أم لا. إذا كان الشرط يتوافق، فإن المولد يستخدم أدوات 64 بت، وبالتالي يمكنك تخطي الهدف الخاص بـ MSVC 32 بت. في حالة عدم تطابق الشرط، فإن المولد لا يستخدم أدوات 64 بت، ويمكنك إضافة الهدف الخاص بـ MSVC 32 بت كالمعتاد.

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

المزيد من المعلومات

بالطبع، ها هو الاستكمال:

كما يمكنك استخدام معلمات أخرى للكشف عن المولد المستخدم، مثل CMAKE_GENERATOR_PLATFORM و CMAKE_GENERATOR_TOOLCHAIN. يمكنك استكشاف هذه المعلمات للتأكد من أن مولد CMake يعمل بالطريقة المطلوبة لمشروعك.

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

في النهاية، من المهم فهم كيفية استخدام CMake بشكل صحيح لضمان توليد مشروع قابل للبناء على المنصات المستهدفة بشكل صحيح. باستخدام الشفرة المذكورة أعلاه، يمكنك بسهولة تكييف مشروعك ليتوافق مع بيئة التطوير الخاصة بك، سواء كنت تستخدم MSVC 32 بت أو 64 بت، وذلك بمجرد التأكد من تحديد المولد واستخدام المعلمات المناسبة للكشف عن البيئة المستهدفة.

مقالات ذات صلة

زر الذهاب إلى الأعلى
إغلاق

أنت تستخدم إضافة Adblock

يرجى تعطيل مانع الإعلانات حيث أن موقعنا غير مزعج ولا بأس من عرض الأعلانات لك فهي تعتبر كمصدر دخل لنا و دعم مقدم منك لنا لنستمر في تقديم المحتوى المناسب و المفيد لك فلا تبخل بدعمنا عزيزي الزائر