مشکل با حجم برنامه ... !



  • p{direction:rtl; text-align:right}. سلام بچه ها
    من وقتی برنامه ای با Qt مینویسم وقتی اجرا میکنم که هیچ(داخل محیط QtCreator) ولی وقتی به صورت آزاد میخام اجرا کنم Error میده (Error چنتا فایل dll) وقتی فایل ها رو اظافه میکنم برنامه اجرا میشه ولی خیلی حجمش بالا میره در صورتی که حجم برنامه فقط چند کیلوبایته
    مثلا من یه برنامه ساختم که 57 کیلوبایت بود ولی با اظافه شدن فایل های QtCore4.dll و QtGui4.dll حجم برنامه شد 12 مگابایت و خورده ای ...
    چیکار کنم اینهمه حجم بالا نره ... ؟



  • p{direction: rtl; text-align:right}. سلام
    برای اجرا در خارج از محیط Qt Creator میتونی مسیر کتابخونه ها رو در متغیر Path از Environment Variables ثبت کنی یا اینکه کیوت رو بصورت Static کامپایل کنی



  • p{direction: rtl; text-align: right}. خوب اینها لایبرری های کیوت هستن و حتما باید موجود باشن. به هرحال کیوت امکانات زیادی در اختیار شما میگذاره. چه بخشی از اون رو استفاده کنید و چه تمام اونهارو، لایبرری هایی که استفاده کردین باید موجود باشه. در واقع دلیل استفاده شما از کیوت، همین لایبرری ها هستن وگرنه شما چیزی بغیر از ++c استفاده نمیکنید.
    تنها کاری که میشه کرد compress کردن اونها هست که فکر کنم حجم رو از نصف کمتر کنه.
    در عوض این رو در نظر داشته باشید که شما یک برنامه Portable تولید کردین. این یک مزیته که کیوت نسبت به framework های دیگه داره. برنامه شما نیاز به نصب نداره و همچنین نیاز به نصب واسط مثل .net framework نیست.



  • p{direction:rtl; text-align:right}. بازم سلام
    ببینید محسن جان وقتی من از این فایل ها داخل برنامم استفاده نکردم چطور باید ازشون استفاده کنم .. ؟
    #include <QApplication>
    #include <QPushButton>
    #include <QHBoxLayout>
    #include <QVBoxLayout>
    اینها کل فایل هدر هایی هستند که من ازشون اتفاده کردم
    حالا طبیعتا فایل هایی که این هدر ها داخلشونن (صرفا این هدر ها) رو باید من به برنامه اظافه کنم (درسته یا نه)
    در برنامه نویسی MFC همچین چیزی نمیخاد در حالی که اونم مجموعه ای از کتاب خانه های مایکروسافت هست .. !
    حالا من فکر نمیکنم روش دگه ای نباشه ... ؟



  • p{direction:rtl; text-align:right}. کی گفته که MFC لایبرری نداره؟ تمام لایبرری های MFC داخل VC++ Redistribution Package هست که همراه با اون یا همراه با نصب .net framework نصب میشه. ولی چون MFC قدیمی هست معمولا روی ویندوز نصب شده از قبل.
    در مورد کیوت این رو بدونید که کیوت فقط یک سری لایبرری هست. اگر تجربه استفاده از پروژه های Cross Platform مثل GTK یا FLTK یا WXWidgets رو داشته باشید دلیل استفاده از این لایبرری ها رو متوجه میشید. اگر می خواهید یک برنامه ساده و کوچک تولید کنید که نیاز به امکانات زیاد ندارید و فقط می خواهید که روی ویندوز اجرا بشه خوب از همون MFC استفاده کنید!
    ولی اگر قصد استفاده از کیوت رو دارید برای حساسیت شما چند حالت وجود داره
    1- اینکه لایبرری های کیوت میتونن بصورت shared libraries هم مورد استفاده قرار بگیرن. یعنی اینکه میتونین یک distributable package درست بکنین و از کاربرتون بخواین که اون رو فقط 1 بار نصب کنه و از اون به بعد دیگه نیازی به بهمراه فرستادن لایبرری ها برای برنامه های بعدی نیست.
    2- لایبرری ها و برنامه ات رو با 7zip کم حجم کن. یک QtCore4.dll و QtGui4.dll با 7zip تبدیل شدن به 3.12 مگابایت بجای 10.6 و یک پکیج شامل
    QtCore4.dll
    QtGui4.dll
    QtNetwork4.dll
    QtSql4.dll
    QtWebkit4.dll
    تبدیل شدن به 6.55 مگابایت بجای 24.4 مگابایت.



  • سلام
    من چند وقتی بود پای کیوت کار میکردم تا اینکه یکی از پروژه هامو وقتی تموم کردم دیدم حجمش زیادی بالاس چون لایبری های کیوت و پایتون کنارش هستن بعد از فشرده سازی هم باز حجم فایل نصبم پایین تر از 12 مگا نیومد چون حجم برنامه 35 مگا بود
    تا اینکه العان دارم در مورد کیوت و سی پلاس میخوم و یه جایی خوندم که میشه هجم همین دی ال ال های اصلی رو هم کم کرد با ورداشتن چیزایی که استفاده نکردیم ازشون
    دوستان میتونین در این مورد توضیح بدین ؟



  • p{direction:rtl;text-align:right}. سلام
    بله دوست عزیز
    درست خوندید
    منتها باید خودتون بعد از ویرایش دوباره اونها رو کامپایل کنید.کار ساده ای نیست.ولی امکان پذیره


Log in to reply
 

Looks like your connection to Qt Forum was lost, please wait while we try to reconnect.