PDA

View Full Version : خطا در اجرای برنامه



javad_r_85
شنبه 02 بهمن 1389, 00:57 صبح
با سلام ::

وقتی که یه پروژه ایجاد می کنم و دیباگ می کنم توی همون محیط Qt Creator برنامه رو اجرا می کنه و زمانی که مسیر برنامه می رم یه پوشه دیگه اضافه شده و فایل اجرای در اون را کلیک می کنم با این خطا مواجه می شم:




the program cont start becuse mingwm10.dll is missing.......
من این فایل dll را دانلود کردم ولی کجا باید اونا بریزم ؟؟/ اصلا این مشکل برای چی هست؟؟؟؟

با تشکر:::::

sgb110
شنبه 02 بهمن 1389, 01:16 صبح
سلام
هم میتونی کنار برنامه بریزی هم تو system32
فقط هم این فایل نیست 2-3 تا dll دیگه هم هستند(تازه اگر از کتابخونه های دیگه های هم استفاده کرده باشی باید اونا رو هم کپی کنی)

javad_r_85
شنبه 02 بهمن 1389, 09:02 صبح
من هر چی برنامه تو سایت بود دانلود کردم ولی بازم همین مشکل رو دارم این فایل ها رو از کجا باید گیر بیارم مگه نباید همراه کتابخونه اون باشه؟؟؟

.:saeed:.
شنبه 02 بهمن 1389, 10:29 صبح
سلام
پروژه رو در کیوتی میشه به دو صورت کامپایل کرد . استاتیک و داینامیک . استاتیک دیگه نیاز به dll نداره ولی خب حجم فایل بیشتر میشه و دینامیک نیست. اما دینامیک نیاز به dll هایی همراه برنامه داره.
حالت پیشفرض دینامیک هستش :
اول پروژه رو در مد release قرار بدین. بعدش که پروژه ساخته شد .به پوشه release برین و برنامه رو اجرا کنید . به شما گیر میده که یه سری dll (‌یا مثلا اگه از پلاگین دیتا بیسی استفاده کردی پلاگین ها باید درجای خاصی قرار بگیرند ) ندارم . اونارو توی محل نصب کیوتی پیدا میکنید و در کنار فایل اجرایی تون کپی میکنید. در ضمن توی ویندوز به نظر من بهتره از کامپایلر ویژوال استودیو استفاده کنی تا mingw . بعدش هم میتونید با استفاده از برنامه depends22_x86 از dll های مورد نیاز برنامه تون اگاه بشین . در ضمن برای اجرای برنامه تون توی یه محیط غیر از محیط توسعه ( اگه محیط مقصد ویژوال استودیو نداره) نیازه که vcredist_x86.exe رو از سایت ماکروسافت
دانلود کنید و در محیط مقصد نصب کنید . اما اون برنامه خیلی بدرد میخوره.
از اینجا (http://doc.trolltech.com/4.1/deployment.html) هم میتونید اطلاعات تکمیلی و نحوه کامپایل به صورت استاتیک رو بدست بیارین

javad_r_85
شنبه 02 بهمن 1389, 11:57 صبح
ممنون دوست عزیز :::

فقط یه سوال دیگه برنامه ای که شما به من دادید با این dll ها اجرا شدند :QtCore4.dll و QtGui4.dllو QtXml4.dll
ولی برنامه من علاوه بر اینها این دوتا هم نیاز داشت::mingwm10.dll وlibgcc_s_dw2-1.dll

می شه درباره اینا توضیح دهید و اینکه چر ا در برنامه شما و جود نداشت:؟؟؟؟

حامد مصافی
شنبه 02 بهمن 1389, 20:42 عصر
فقط یه سوال دیگه برنامه ای که شما به من دادید با این dll ها اجرا شدند :QtCore4.dll و QtGui4.dllو QtXml4.dll
ولی برنامه من علاوه بر اینها این دوتا هم نیاز داشت::mingwm10.dll وlibgcc_s_dw2-1.dll

اگر پروژه را به mingw کامپایل کنید به دو فایلی که ذکر کرده‌اید نیاز خواهد داشت اما در صورتی که به کامپایلر مایکروسافت کامپایل کنید به msvcrX.dll نیاز خواهد داشت که نسخه های پایینتر آن در ویندوز موجود است و نسخه های جدیدتر معمولا توسط نرم‌افزار های مختلف نصب می‌شود.

javad_r_85
یک شنبه 03 بهمن 1389, 08:29 صبح
اما زمانی که من با ویژوال نیز کار می کنم بازم به این Dll نیاز داره و در عمل هیچ فرقی نمی کنه؟؟؟؟؟

.:saeed:.
یک شنبه 03 بهمن 1389, 08:58 صبح
سلام . شما احتمالا دوباره به همون مسیر قبلی رجوع میکنید. مسیری که در مورد ویژوال استودیو باید طی کرد یه پوشه ای به نام Release در مسیر جاری پروژه تون هست . در حالی که در creator این پوشه معمولا در پوشه مرتبه بالاتر از پوشه جاری پروژه و با نامی شبیه build-desktop هستش.

javad_r_85
یک شنبه 03 بهمن 1389, 09:25 صبح
بالاخره درست شد :: ممنون از همگی