ورود

View Full Version : سوال: مشکل در اجرای exe ساخته شده توسط qt



zoncpp
یک شنبه 24 فروردین 1399, 12:30 عصر
سلام.
به تازگی با Qt شروع به کار کرده ام.
برنامه ای نوشته ام و build و اجرای آن مشکلی ندارد.
ولی وقتی .exe ایجاد شده را به تنهایی میخواهم اجرا کنم (با دابل کلیک رو exe) خطاهای مختلفی می دهد و exe اجرا نمیشود!
qt5gui.dll و چندین dll دیگر را پیدا نمی کند؟ این dll ها باید کجا باشد؟

آیا همیشه این dll ها باید در کنار exe کپی شود؟
ممنون از راهنماییتون

sd702004
یک شنبه 24 فروردین 1399, 19:35 عصر
با سلام

بله این dll ها جزو dependency های نرم افزار ساخته شده با Qt هستند و باید در کنار فایل باشن. موقعی که شما فایل رو از طریق خود IDE مربوطه اجرا میکنید خودش به طور پیشفرض مسیر این dll ها رو در نظر میگیره اما در حالت عادی که مستقیما فایل رو اجرا میکنید، برنامه قادر به یافتن این فایلها نیست. برای حالت موقت کافیه فولدر لایبرری کیوت که این dll ها داخلش هست رو به متغیر PATH اضافه کنید تا نیاز نباشه اونا رو بذارید کنارش اما چنان چه میخواین برنامه تون رو در اختیار دیگران قرار بدین لازمه این dll ها و یه سری فایلهای دیگه کنار فایل نرم افزارتون قرار داده بشه (عبارت deploy qt application on windows رو جستجو کنید اطلاعات مناسبی رو در رابطه با این کار پیدا میکنید)

اگر هم سورس Qt رو خودتون جداگانه دانلود کنید و اونو بصورت استاتیک کامپایل کنید در اون صورت کل لایببری های مورد استفاده داخل خود فایل exe قرار میگیره و نیازی به dll نیست (البته از نظر لایسنس کیوت و استفاده رایگان ازش بخوایم در نظر بگیریم فکر میکنم مجاز به این کار نیستیم)

maghorbani759
جمعه 19 اردیبهشت 1399, 20:42 عصر
بله این dll ها همیشه لازم هستند،‌ راه حل ساده برای کپی کردن dll ها استفاده از فایل windeployqt.exe در پوشه bin نسخه qt که نصب کردید هست!‌مثلا Qt\5.14.0\bin\windeployqt.exe
کافیه exe ای که build کردید رو drag&drop کنید روی windeployqt.exe و خودش خودکار این dll هارو براتون کپی میکنه