ساخت فایل اجرایی در ویندوز



  • p{direction:rtl; text-align:right}. سلام
    من همیشه توی لینوکس از کیوت استفاده می کردم. امروز خواستم یه فایل اجرایی از یکی از برنامه هام توی ویندوز بسازم که دیدم بدون این فایل های dll کار نمیکنه
    !http://up98.org/upload/server1/02/b/ngqkabyjjfx0pl8nphd.jpg(S)!

    p{direction:rtl; text-align:right}. 1. راهی هست که برای اجرا نیاز به این فایل ها نداشته باشه؟ چون حجمشون خیلی زیاده

    1. برای اجرا روی یه سیستم دیگه همین چند تا dll بسه یا روی یه سیستم دیگه Qt SDK باید کامل نصب بشه
    2. یه برنامه setup ساز که با کیوت سازگار باشه معرفی کنین

    p{direction:rtl; text-align:right}. ممنون



  • سلام برنامه ای که نوشتی به این فایل ها نیاز داره و این فایل ها هم تو دایرکتوری کیوت بعد از نصب هست.
    برای اجرای برنامه هم این فایل ها رو تو دایرکتوری که فایل اجرایی برنامه ات هست کپی کن اجرا میشه و نیازی نیست رو سیستم دیگه ای کیوت نصب بشه
    نرم افزار نصاب هم یکیش
    Nullsoft
    هست



  • p{direction:rtl; text-align:right}. ممنون
    برنامه من ۸۹۰ کیلوبایته اما برای اینکه روی یه سیستم دیگه اجرا بشه با این dll ها حجمش میشه ۱۶ مگابایت
    راه حلی نیست؟
    مثلاً نمیشه فقط کتابخونه هایی رو که استفاده کردم رو توی برنامم داشته باشم یا اینکه کلاً برنامه رو استاتیک کامپایل کنم؟



  • p{direction:rtl; text-align:right}. میتونید با پکرها حجم کتابخونه رو بطور چشمگیری کاهش بدبد
    برای فایل نصاب برنامه BitRock InstallBuilder با توجه به کراس پلتفرم بودن گزینه ی خوبیه



  • p{direction:rtl; text-align:right}. اگه از کامپایلر ویژوال سی پلاس پلاس استفاده کنید به دو فایل libgcc_s_dw2-1.dll و mingwm10.dll نیازی نیست



  • p{direction:rtl; text-align:right}. ممنون مهدی جان تستش میکنم نتیجه رو میگم
    راستی اون پکر که گفتی چیه؟



  • p{direction:rtl; text-align:right}. یه نرم افزار برای فشرده سازیه. UPX یکی از بهترینهاست

    http://en.wikipedia.org/wiki/UPX



  • p{direction:rtl; text-align:right}. دقیقا اگه کتابخونه‌هایی رو که استفاده کردی به همراه کد منتشر کنی هیچ مشکلی وجود نداره.
    معمولا مردم به‌جای dllهای Release از dllهای Debug استفاده می‌کنن که حجمشون چندین برابر هست. مثلا به‌جای Qt4Gui.dll از QtGui4d.dll استفاده می‌کنن و موقع کامپایل هم باید توجه داشته باشی که حتماً از Release استفاده کنی.

    p{direction:rtl; text-align:right}. برای این که بدونی دقیقاً به کدوم dllها لینک دادی می‌تونی از یه برنامه‌ای به اسم dependency walker استفاده کنی. این برنامه آدرس و مشخصات تمام کتابخونه‌هایی رو که لینک کردی بهت میگه.

    p{direction:rtl; text-align:right}. در مورد کامپایل استاتیک باید بگم که خود کیوت به شکل shared library کامپایل شده. اگر استاتیک‌ش رو می‌خوای باید خودت سورس‌ها رو بگیری و دوباره پیکربندی و نصب بکنی. من این کار رو هم توی لینوکس و هم توی ویندوز انجام دادم. توی ویندوز با کامپایلر MingW راحته اما با VC خیلی سخته. برای استفاده از کیوتی که به شکل استاتیک کامپایل شده باشه باید نسخهٔ کیوت رو به پروژه معرفی کنی. برای این کار آدرس qmake رو توی تنظیمات پروژه اضافه می‌کنی.



  • p{direction:rtl; text-align:right}. مهدی جان آموزش فارسی واسه BitRock InstallBuilder سراغ نداری؟
    محیط عجیب و غریبی داشت
    اگه setup ساز سازگار با کیوت البته اپن سورس هم چیزی هست معرفی کنین لطفاُ
    ممنون سروش جان
    توضیحات خوبی بود
    این dependency walker معادل لینوکسی نداره؟



  • p{direction:rtl; text-align:right}. بعید میدونم آموزش فارسی موجود باشه
    در کل کار کردن با اون اصلا پیچیدگی خاصی نداره. چند تا example خوب همراه خودش داره که میتونی ازشون استفاده کنی

    p{direction:rtl; text-align:right}. بجای dependency walker میتونی از ldd در یونیکس ها استفاده کنی

    ldd ./YourAppName



  • p{direction:rtl; text-align:right}. ممنون
    قبلاْ ldd رو نمیشناختم فوق العاده بود


Log in to reply
 

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