Quazip not building up: Throwing "Undefined symbols for architecture x86_64"
-
I am trying to build the QuaZip library in QT Creator 2.4.1 in a MAC 10.7.2 system without making any changes to the project at all, but i am getting the following error
Undefined symbols for architecture x86_64:
@
"inflateInit2", referenced from:
_unzOpenCurrentFile3 in unzip.o
"_get_crc_table", referenced from:
_unzOpenCurrentFile3 in unzip.o
_zipOpenNewFileInZip3 in zip.o
"_crc32", referenced from:
_unzReadCurrentFile in unzip.o
_zipWriteInFileInZip in zip.o
QuaCrc32::update(QByteArray const&) in quacrc32.o
QuaCrc32::reset() in quacrc32.o
QuaCrc32::calculate(QByteArray const&) in quacrc32.o
"_inflate", referenced from:
_unzReadCurrentFile in unzip.o
"_inflateEnd", referenced from:
_unzCloseCurrentFile in unzip.o
"deflateInit2", referenced from:
_zipOpenNewFileInZip3 in zip.o
"_deflate", referenced from:
_zipWriteInFileInZip in zip.o
_zipCloseFileInZipRaw in zip.o
"_deflateEnd", referenced from:
_zipCloseFileInZipRaw in zip.o
"_adler32", referenced from:
QuaAdler32::update(QByteArray const&) in quaadler32.o
QuaAdler32::reset() in quaadler32.o
QuaAdler32::calculate(QByteArray const&) in quaadler32.o
ld: symbol(s) not found for architecture x86_64collect2: ld returned 1 exit status
make: Leaving directory `/Users/vikram.sridhar/Documents/Workspace/quazip-build-desktop-Desktop_Qt_4_8_1_for_GCC__Qt_SDK__Debug'
make: *** [libquazip.1.0.0.dylib] Error 1
13:37:14: The process "/usr/bin/make" exited with code 2.
Error while building project quazip (target: Desktop)
When executing build step 'Make'@ -
The error means that the linker is trying to find the code for some symbols, but fails to do so. The lib (zlib) is installed on your system, otherwise the compiler would have bailed out already (due to missing include files). Fortunately the solution is easy: The developers forgot to include linkage to zlib in the .pro file, so just add to the file mvim quazip/quazip.pro the following line in the unix scope:
@
LIBS += -lz
@The complete snippet that works for me (I had the very same errors on a 10.6 Mac box) is:
@
unix:!symbian {
headers.path=$$PREFIX/include/quazip
headers.files=$$HEADERS
target.path=$$PREFIX/lib
INSTALLS += headers target
// the following line needs to be added
LIBS += -lzOBJECTS_DIR=.obj
MOC_DIR=.moc}
@ -
Volker, you just saved me after a weekend of pain ... was having exactly the same issue, couldn't figure it out.
Was even considering completely different approaches ... thank you so much!
-
Hi,Volker. I'm a novice in using Qt creator. I have the same problem which confused me for two days. Thank you so much for your answer. Thank you !
-
Hi , please anybody can help me, how to solve this issue when I'm using CMake and not qmake?
-
@Leanor This is quite old thread. Please provide more information about your situation:
- What OS?
- What Qt version?
- What exact error messages do you get?
-
@Leanor Seems like you do not link the quazip libs.
Show your pro file.Also
#include <QuaZip-Qt5-1.3/quazip/quazip.h>this should look differently:
#include <quazip/quazip.h>just add QuaZip-Qt5-1.3 as include path in your pro file.