ساخت فایل اجرایی در ویندوز
-
p{direction:rtl; text-align:right}. سلام
من همیشه توی لینوکس از کیوت استفاده می کردم. امروز خواستم یه فایل اجرایی از یکی از برنامه هام توی ویندوز بسازم که دیدم بدون این فایل های dll کار نمیکنه
!http://up98.org/upload/server1/02/b/ngqkabyjjfx0pl8nphd.jpg(S)!p{direction:rtl; text-align:right}. 1. راهی هست که برای اجرا نیاز به این فایل ها نداشته باشه؟ چون حجمشون خیلی زیاده
2. برای اجرا روی یه سیستم دیگه همین چند تا dll بسه یا روی یه سیستم دیگه Qt SDK باید کامل نصب بشه
3. یه برنامه setup ساز که با کیوت سازگار باشه معرفی کنینp{direction:rtl; text-align:right}. ممنون
-
سلام برنامه ای که نوشتی به این فایل ها نیاز داره و این فایل ها هم تو دایرکتوری کیوت بعد از نصب هست.
برای اجرای برنامه هم این فایل ها رو تو دایرکتوری که فایل اجرایی برنامه ات هست کپی کن اجرا میشه و نیازی نیست رو سیستم دیگه ای کیوت نصب بشه
نرم افزار نصاب هم یکیش
Nullsoft
هست -
p{direction:rtl; text-align:right}. ممنون
برنامه من ۸۹۰ کیلوبایته اما برای اینکه روی یه سیستم دیگه اجرا بشه با این dll ها حجمش میشه ۱۶ مگابایت
راه حلی نیست؟
مثلاً نمیشه فقط کتابخونه هایی رو که استفاده کردم رو توی برنامم داشته باشم یا اینکه کلاً برنامه رو استاتیک کامپایل کنم؟ -
p{direction:rtl; text-align:right}. یه نرم افزار برای فشرده سازیه. 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