PDA

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



reza10203045
چهارشنبه 26 فروردین 1388, 23:45 عصر
دوستان میشه در مورداین خطا منو راهنمایی کنند . به شکل زیر نگاه کنید هنگام کامپایل کردن این خطا ها رو میده
29999

Mehdi Asgari
پنج شنبه 27 فروردین 1388, 07:50 صبح
من که خطایی ندیدم!
Build finished without error

reza10203045
پنج شنبه 27 فروردین 1388, 10:08 صبح
شرمنده دوست عزیز اشتباهی شده .
دلیل خطا به خاطر mingwm10.dll چیه این فایل چه کاری انجام می ده میشه بیان کنید و برای رفع این خطا چیکار کنم.
30007

reza10203045
پنج شنبه 27 فروردین 1388, 11:07 صبح
دوستان مشکل حل شد . با کپی کردن dll های مورد نیاز در کنار برنامه برنامه اجرا شد ولی یه سوالی برام پیش اومد و انم اینکه ظرفیت فایل های dll به اندازه 91MB شد آیا راه دیگه ای وجود نداره چون اندازه خود برنامه حدود 2MB هستش .

Mehdi Asgari
پنج شنبه 27 فروردین 1388, 12:41 عصر
پروژه ات رو در حالت Release بیلد کن (یه مثال Hello World رو سیستم من در مد دیباگ حدود 1.9 MB و در مد Release حدود 33 KB میشه)
در ضمن نیاز نیست همۀ DLL ها رو همراه برنامه ات بدی به مشتری (چون به همه شون نیاز نداری)

reza10203045
پنج شنبه 27 فروردین 1388, 14:55 عصر
در مورد dll هایی که نیاز داره در مسیر برنامه کپی می کنم که اگه این dll ها نباشه خطا میده که جمعا 4 تا dll هستند mingwm10.dll و QtCore4.dll و QtCored4.dll و QtGuid4.dll که ظرفیت اینها برابر 91MB هستش . حالا برای اینکه ظرفیت برنامه کمک باشه و نیاز به بعضی از این dll ها نداشته باشه مثل QtGuid4.dll که ظرفیت آن برابر 71MB هستش و QtCored4.dll که ظرفیت آن هم 18MB هستش چیکار کنم . البته توی یکی از موضوع ها که گفته شده بود که از توابع API استفاده کنید میشه در مورد استفاده آن توضیح بدید.

Mehdi Asgari
پنج شنبه 27 فروردین 1388, 15:04 عصر
QtGuid4.dll نسخۀ دیباگ هست (با حجم 71.5 مگابایت) ؛ موقع تحویل برنامه به مشتری باید هم برنامه ات و هم کتابخونه هات Release باشن (یعنی مثلا باید از QtGui4.dll استفاده کنی. حجم: 11 مگابایت)
در ضمن از ++Visual C استفاده کن که نیازی به mingw*.dll هم نداشته باشی

Nima_NF
پنج شنبه 27 فروردین 1388, 19:39 عصر
همان طور که mehdi311ggg گفتند برای نسخه نهایی شما باید از QtGui4.dll استفاده کنید نه
QtGuid4.dll


هر کامپایلر برای خودش نیازمند یک dll هست تا فایل های شما اجرا شود. کامپایلر minGW mingwm10.dll نیاز دارد (البته با توجه به نسخه کامپایلر)
حتی اگر از ++visual C استفاده کنید نیز باید Visual C++-runtime را در سیستم هدف نصب کنید یا dll های آن را در فولدر برنامه کپی کنید (کمتر از 3MB).

با این حال حتی اگر از minGW هم استفاده کنید باز هم باید Visual C++-runtime را نصب کنید چون خود Qt به آن نیاز دارد، قبلا در این لینک در پست های انتهایی کامل توضیح داده شده است. (http://barnamenevis.org/forum/showthread.php?t=93103)


در مورد dll های QT حتی اگر تمامی آن ها را (حتی اگر نیاز ندارید) هم کپی کنید نهایت 20MB می شوند. علاوه بر این کار می توانید از روش static linking استفاده کنید که در همان لینک فوق توضیح داده شده است. اما پیشنهاد نمی شود که از آن استفاده کنید.

reza10203045
پنج شنبه 27 فروردین 1388, 21:25 عصر
درست دوست ولی هنگام شروع برنامه فایل QtGuid4.dll می خواد چیکار کنم یا چه تغییری انجام بدم که از QtGui4.dll استفاده کنه ممنون میشم در این مورد هم کمک کنید.
من قبلا لینک بالا رو خوانده بودم ممنون از راهنمایی های شما.

Mehdi Asgari
پنج شنبه 27 فروردین 1388, 23:49 عصر
فکر کنم به این خاطره که پروژه ات رو در مد دیباگ ، build می کنی .در Qt Creator برای تغییر مد کامپایل برنامه :
Projects -> Build Settings
و اگه از کامندلاین میخوای کامپایل کنی : make release

reza10203045
جمعه 28 فروردین 1388, 19:43 عصر
ممنون از راهنمایی های شما دوستان عزیز مشکل من در این زمینه حل شد