سؤال

باستخدام Visual Studio ، قمت ببناء تطبيق C ++ يعمل في 32 بت. سيتم نشره على خوادم Windows 32 بت و 64 بت. لن يتم تشغيله في وضع 64 بت (ولكن تحت واو).

هل يجب أن أقوم بتضمين كلاً من C ++ البصرية 32 بت و 64 بت ، وتثبيت 32 بت على النوافذ 32 بت و 64 بت على النوافذ 64 بت ، أم أنها يكفي فقط لتثبيت 32 بت إعادة توزيعها؟

هل كانت مفيدة؟

المحلول

يكفي تثبيت 32 بت إعادة توزيع.

نصائح أخرى

تحرير: لقد علقت أدناه على إجابة مضللة ، لكن الإجابة هي تحتاج فقط إلى إعادة توزيع 32 بت ، مثل كاريل بترانيك أجاب أول.

هذا ليس جوابا. يجب أن يكون مجرد تعليق ، لكن بما أنني لا أملك السمعة المطلوبة لذلك ...:

أردت فقط أن أحذر الناس من المعلومات المقدمة من رويل. لا ، لا تتضمن الحزم القابلة لإعادة توزيع 64 بت Visual C ++ أيضًا DLLs 32 بت.

لقد اختبرت حتى نظرية (). حاولت تشغيل تطبيق يتطلب إعادة توزيع C ++ 2010 Visual C ++ 2010 ، وقد دفعني إلى أنه يحتاج إلى ذلك. قمت بعد ذلك بتثبيت 64 بت واحد ، وما زال يدفعه إلى إصدار 32 بت من Visual C ++ 2010. بعد تثبيت واحد 32 بت ، عملت.

لماذا يأتي الناس بنظريات ويزودونهم كإجابات يتفوق علي. أو ربما تم "تشجيعه" من قبل نظام السمعة لإعطاء ليس فقط غير ضروري ، ولكن أيضًا معلومات خاطئة. أو ربما كان يربك C ++ مع إعادة توزيع DirectX 9 (أن يتم تثبيت كل من DLL 32 بت و 64 بت).

كلاهما منتجات Microsoft ، لكن لا تدع هذا يخدعك.

ينشئ تطبيق C ++ الخاص بك 32 بت EXE ، وربط 32 بت DLLs. كما يحدث ، واحد أو اثنان من DLLs هما Microsoft CRT DLLs ، لكن نظام التشغيل لا يزال يستخدم نفس القواعد. لذلك ، لا تحتاج إلى 64 بت DLLs.

قم بتجميعه باستخدام خيار /MT وسيتم تجميع مكتبة وقت تشغيل VC ++ في EXE ، لذلك لا داعي للقلق بشأن توزيعه.

Project> Properties> خصائص التكوين> C/C ++> توليد الكود> مكتبة وقت التشغيل> متعدد الخيوط (/MT).

تتضمن الحزمة القابلة لإعادة توزيع 64 بت Visual C ++ كلا من C ++ البصرية 32 بت القابلة لإعادة توزيعها و 64 بت Visual C ++ القابلة للتوزيع.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top