PDA

View Full Version : حرفه ای: مشکل با QuaZip



++Hadi++
شنبه 08 اسفند 1394, 09:24 صبح
سلام
چرا وقتی کتابخونه quazip رو د پروژه ام اد می کنم، کل خطا می خورم...
متن خطا:


E:\Qt\Qt5.5.0\Projects\ZipProject\ZipProject\quazi p\JlCompress.cpp:60: error: undefined reference to `_imp___ZNK6QuaZip7getModeEv'

البته خطلی زیاده و تقریبا همشون شبیه همند و این شکلیند...

فک کنم به zlib نیاز داره و در ویندوز نمی دونم چرا هر جور کهzlibرو معرفی کردم آخرش حل نشد که نشد...
تو خیلی سایتا نوشته بودند که مشکل ازzlib هست.
من با ویندوز کار می کنم و ممنون می شم راهنماییم کنید...

کامبیز اسدزاده
سه شنبه 11 اسفند 1394, 04:03 صبح
سلام
چرا وقتی کتابخونه quazip رو د پروژه ام اد می کنم، کل خطا می خورم...
متن خطا:


E:\Qt\Qt5.5.0\Projects\ZipProject\ZipProject\quazi p\JlCompress.cpp:60: error: undefined reference to `_imp___ZNK6QuaZip7getModeEv'

البته خطلی زیاده و تقریبا همشون شبیه همند و این شکلیند...

فک کنم به zlib نیاز داره و در ویندوز نمی دونم چرا هر جور کهzlibرو معرفی کردم آخرش حل نشد که نشد...
تو خیلی سایتا نوشته بودند که مشکل ازzlib هست.
من با ویندوز کار می کنم و ممنون می شم راهنماییم کنید...

این مثال رو : https://github.com/binaryking/quazip
همراه با این آموزش بررسی کنید لطفا : http://barnamenevis.org/showthread.php?438804-%D8%A2%D9%85%D9%88%D8%B2%D8%B4-%D9%86%D8%B5%D8%A8-Qt-%D8%AF%D8%B1-Windows-%D9%88-Linux

حامد مصافی
سه شنبه 11 اسفند 1394, 11:52 صبح
این خطا زمانی رخ میده که شما فایل هدر یک کتابخانه رو استفاده کنید اما خودشو به پروژه اضافه نکنید. فایل این لایبرری (با پسوند lib یا a ) رو هم به پروژه اضافه کنید.

++Hadi++
پنج شنبه 13 اسفند 1394, 19:36 عصر
ممنون...
والا چیزی که دستگیرم شد این بود که Quazip یه wrapper رو zlib هست که نسخه های تست شده و stable اش تا کیوت 5.2 هست و رو اون نسخه ها با include کردن zlib به صورت معمولی می شد zlib رو گیر آورد ولی تو نسخه های آخر، برا اینکلود کردن zlib باید نوشت:

#include <QtZlib/zlib.h>
البته بر اساس یه لینک در استک اور فلو، اینو در تمام کلاسای Quazip جایگزین دستور اینکلو قبلی zlib تعویض کردم ولی بازم ارور می داد که فکر می کنم یا راهی داره یا اینکه باید بیخیالش شم...

حامد مصافی
شنبه 15 اسفند 1394, 06:51 صبح
نه فقط include نیست. در فایل proباید نسخه بایناری (کامپایل شده) که حاوی آبجکت‌های کتابخانه هستند رو در اعلان LIBS اضافه کنید.

++Hadi++
شنبه 15 اسفند 1394, 16:45 عصر
ممنون
پست قبلیم آپدیت شد. یه قلم از جا افتاده بود.
در کیوت 5.5 باید نوشت»

#include <QtZlib/zlib.h>
آموزش خوبی در یو تبوب برا همین مورد هست:
C++ Qt 98 - How to use a DLL
C++ Qt 99 - Static Library