مشکل در اجرای exe ساخته شده توسط qt
سلام.
به تازگی با Qt شروع به کار کرده ام.
برنامه ای نوشته ام و build و اجرای آن مشکلی ندارد.
ولی وقتی .exe ایجاد شده را به تنهایی میخواهم اجرا کنم (با دابل کلیک رو exe) خطاهای مختلفی می دهد و exe اجرا نمیشود!
qt5gui.dll و چندین dll دیگر را پیدا نمی کند؟ این dll ها باید کجا باشد؟
آیا همیشه این dll ها باید در کنار exe کپی شود؟
ممنون از راهنماییتون
نقل قول: مشکل در اجرای exe ساخته شده توسط qt
با سلام
بله این dll ها جزو dependency های نرم افزار ساخته شده با Qt هستند و باید در کنار فایل باشن. موقعی که شما فایل رو از طریق خود IDE مربوطه اجرا میکنید خودش به طور پیشفرض مسیر این dll ها رو در نظر میگیره اما در حالت عادی که مستقیما فایل رو اجرا میکنید، برنامه قادر به یافتن این فایلها نیست. برای حالت موقت کافیه فولدر لایبرری کیوت که این dll ها داخلش هست رو به متغیر PATH اضافه کنید تا نیاز نباشه اونا رو بذارید کنارش اما چنان چه میخواین برنامه تون رو در اختیار دیگران قرار بدین لازمه این dll ها و یه سری فایلهای دیگه کنار فایل نرم افزارتون قرار داده بشه (عبارت deploy qt application on windows رو جستجو کنید اطلاعات مناسبی رو در رابطه با این کار پیدا میکنید)
اگر هم سورس Qt رو خودتون جداگانه دانلود کنید و اونو بصورت استاتیک کامپایل کنید در اون صورت کل لایببری های مورد استفاده داخل خود فایل exe قرار میگیره و نیازی به dll نیست (البته از نظر لایسنس کیوت و استفاده رایگان ازش بخوایم در نظر بگیریم فکر میکنم مجاز به این کار نیستیم)
نقل قول: مشکل در اجرای exe ساخته شده توسط qt
بله این dll ها همیشه لازم هستند، راه حل ساده برای کپی کردن dll ها استفاده از فایل windeployqt.exe در پوشه bin نسخه qt که نصب کردید هست!مثلا Qt\5.14.0\bin\windeployqt.exe
کافیه exe ای که build کردید رو drag&drop کنید روی windeployqt.exe و خودش خودکار این dll هارو براتون کپی میکنه