Russian Qt Forum

Qt => Вопросы новичков => Тема начата: sid от Август 31, 2017, 16:14



Название: сборка из Qt src zlib.dll под MinGW
Отправлено: sid от Август 31, 2017, 16:14
возник вопрос

при компиляции исходников zlib
  выдает:
\zlib_qt59_src\gzread.c:-1: error: undefined reference to `_imp__z_crc32'
причем 111 ошибок
 почему он ругается на линковку к dll? ведь ее я и собираю (
(причем делаю по видио и там у парня все четко получилось но был MinGW 4.8 у меня 5.3 - 32bit
https://www.youtube.com/watch?v=9JkHMmIeSNk&list=PL54fdmMKYUJvn4dAvziRopztp47tBRNum&index=124)

 Спасибо!

что  делаю:
- я биру исходники
D:\Qt\5.9\Src\qtbase\src\3rdparty\zlib\
- создаю проект
qmake -project
правлю:
TEMPLATE = lib
и убираю # minigzip.c \ - ошибка 2 main()

получаю проект :
######################################################################
# Automatically generated by qmake (3.1) Thu Aug 31 15:41:27 2017
######################################################################

TEMPLATE = lib
TARGET = zlib_qt59_src
INCLUDEPATH += .

# The following define makes your compiler warn you if you use any
# feature of Qt which has been marked as deprecated (the exact warnings
# depend on your compiler). Please consult the documentation of the
# deprecated API in order to know how to port your code away from it.
DEFINES += QT_DEPRECATED_WARNINGS

# You can also make your code fail to compile if you use deprecated APIs.
# In order to do so, uncomment the following line.
# You can also select to disable deprecated APIs only up to a certain version of Qt.
#DEFINES += QT_DISABLE_DEPRECATED_BEFORE=0x060000    # disables all the APIs deprecated before Qt 6.0.0

# Input
HEADERS += crc32.h \
           deflate.h \
           gzguts.h \
           inffast.h \
           inffixed.h \
           inflate.h \
           inftrees.h \
           trees.h \
           zconf.h \
           zlib.h \
           zutil.h
SOURCES += adler32.c \
           compress.c \
           crc32.c \
           deflate.c \
           example.c \
           gzclose.c \
           gzlib.c \
           gzread.c \
           gzwrite.c \
           infback.c \
           inffast.c \
           inflate.c \
           inftrees.c \
           # minigzip.c \
           trees.c \
           uncompr.c \
           zutil.c


Название: Re: сборка из Qt src zlib.dll под MinGW
Отправлено: sergek от Август 31, 2017, 16:22
А зачем надо собирать - она же есть в составе Qt (LIBS += -lz)?


Название: Re: сборка из Qt src zlib.dll под MinGW
Отправлено: sid от Август 31, 2017, 19:16
спасибо!
я пока сделал через qCompress и qUncompress

но непонятна сама природа ошибок,
\zlib_qt59_src\gzread.c:-1: error: undefined reference to `_imp__z_crc32'
получилось на все функции такое сообщение, в обоих режимах Debug и Release ((



Название: Re: сборка из Qt src zlib.dll под MinGW
Отправлено: Bepec от Август 31, 2017, 19:20
Не найдета реализация функции бла бла бла. Что говорит о том, что в проект либо не подключена либа, либо отсутствует cpp файл.
Так же как вариант перепутан порядок сборки проекта.