سؤال

وأنا جديدة إلى c ++. قدم لي برنامج ج ++ باستخدام VS 2008 الفنية. لقد بدأت مع قالب Win32 الذي خلق نافذة بالنسبة لي. أنا جمعت على فيستا 32. احضرت EXE مترجمة إلى بلادي القديمة الكمبيوتر XP SP2، ويقول لي تكوين التطبيق غير صحيح. هل هناك شيء ايم به خطأ؟ كيف يمكنني جعله منصة مستقلة؟

والشكر

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

المحلول

مايكروسوفت البصرية C ++ 2008 SP1 القابلة لإعادة التوزيع حزمة وتأكد من أنك تستخدم إنشاء إصدار من التطبيق الخاص بك.

نصائح أخرى

تأكد من أن يتم تعيين WINVER إلى إصدار يتضمن ويندوز إكس بي - يبدو ان النسخة الهدف الافتراضي من ويندوز لVS 2008 هو فيستا (0x0600).

وتعيين المعالج التالية تحديد:

#define WINVER 0x0501

ويفضل استخدام خصائص المشروع "تعريفات C / C ++ / قبل المعالج / قبل المعالج" أو خيار -D على سطر الأوامر CL.EXE. ومن الممكن أيضا أن هناك ملف targetver.h الذي لديه هذا الإعداد (اعتمادا على كيفية مشروعك حصلت أنشئت في البداية).

http://msdn.microsoft.com /en-us/library/aa383745(VS.85).aspx لمزيد من التفاصيل.

والنظام الهدف يفتقد ملفات وقت التشغيل اللازمة لذلك قابل للتنفيذ.

ويمكنك العثور عليها على العنوان التالي: <لأ href = "http://www.microsoft.com/downloads/details.aspx؟familyid=9B2DA534-3E03-4391-8A4D-074B9F2BC1BF&displaylang=en" يختلط = "نوفولو noreferrer" > مايكروسوفت البصرية C ++ 2008 القابلة لإعادة التوزيع حزمة (x86) أو <وأ href = "http://www.microsoft.com/downloads/details.aspx؟familyid=A5C84275-3B97-4AB7-A40D-3802B2AF5FC2&displaylang=en" يختلط = "نوفولو noreferrer"> مايكروسوفت البصرية C ++ 2008 SP1 القابلة لإعادة التوزيع حزمة (x86)

هل يمكن استخدام التبعية ووكر للعثور على المكونات التي تفتقر على الهدف نظام ويندوز إكس بي. ثم يجب عليك تثبيت redistributables المناسبة.

في خصائص المشروع، تعيين "C/C++ -> Code Generation -> Runtime Library" إلى "Multi-threaded (Debug)". بعد إعادة، سيقوم التطبيق لم يعد يعتمد على msvcr90.dll. سوف ثنائي التطبيق، ومع ذلك، يكون أكبر إلى حد ما.

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