MinGWを試してみる。
ただ、QuaZIP: QuaZIP - Qt/C++ wrapper for MinizipによるとMinGWはテストされていないようだけど。
[Qt] Zipファイルを扱う(Windows,VS2017)のときと同じようにQtからお手軽にZIPファイルを扱えるQuaZIPの紹介 - 理ろぐのページを参考に試してみた。
スタートメニューから"Qt 5.12.3(MinGW 7.3.0 64-bit)"(コマンドプロンプト)を起動する。
quazip-0.7.6フォルダがあるディレクトリで
mkdir build-quazip-MinGW-x64
cd build-quazip-MinGW-x64
を実行する。
そしてビルド&インストール。
qmake -r ..\quazip-0.7.6\quazip\quazip.pro "PREFIX=..\..\quazip\mingw-x64" LIBS+=-lz
mingw32-make all
mingw32-make release-install debug-install
quazipフォルダができ、そこにdllやヘッダなんかがインストールされる。
次に参考にしたページにあった"quazip.pri"を見よう見まねでこんな感じにした。
# for quazip
message($$QT_ARCH)
QUAZIP_DIR = $${PWD}/../quazip
mingw:{
equals(QT_ARCH, "x86_64"):{
# 64bit
QUAZIP_DIR = $$QUAZIP_DIR/mingw-x64
}else{
# 32bit
QUAZIP_DIR = $$QUAZIP_DIR/mingw-x86
}
} else: win32:{
equals(QT_ARCH, "x86_64"):{
# 64bit
QUAZIP_DIR = $$QUAZIP_DIR/x64
}else{
# 32bit
QUAZIP_DIR = $$QUAZIP_DIR/x86
}
}
INCLUDEPATH += $$QUAZIP_DIR/include/quazip
CONFIG(debug,debug|release){
mingw: {
LIBS += -L$$QUAZIP_DIR/bin/ -lquazipd
} else:win32:{
LIBS += $$QUAZIP_DIR/bin/quazipd.lib
}
}else{
mingw: {
LIBS += -L$$QUAZIP_DIR/bin/ -lquazip
} else:win32: {
LIBS += $$QUAZIP_DIR/bin/quazip.lib
}
}
unix: LIBS += -L$$QUAZIP_DIR/lib/ -lquazip
# for zlib
win32: INCLUDEPATH += $$[QT_INSTALL_PREFIX]/include/QtZlib
# copy library file
win32:{
CONFIG(debug,debug|release){
QUAZIP_LIB_PATH=$$QUAZIP_DIR/bin/quazipd.dll
APP_BUILD_DIR=$$shadowed($${PWD})/debug
}else{
win32:QUAZIP_LIB_PATH=$$QUAZIP_DIR/bin/quazip.dll
APP_BUILD_DIR=$$shadowed($${PWD})/release
}
QUAZIP_LIB_PATH ~= s|/|\|gi
APP_BUILD_DIR ~= s|/|\|gi
}else{
QUAZIP_LIB_PATH=$$QUAZIP_DIR/lib/libquazip.so.*
APP_BUILD_DIR=$$shadowed($${PWD})
}
copyquazip.commands = $(COPY_DIR) $$QUAZIP_LIB_PATH $$APP_BUILD_DIR
QMAKE_EXTRA_TARGETS += copyquazip
コメント