内部にビットマップを含む単純な .zip ファイルを作成する必要があります。私はQtを使っているので、そのために使っているライブラリはできるだけQtに近いものにしたいと思っています。しばらくグーグルで調べた後、QuaZip が完璧なソリューションであると確信しました。しかし、私のマシンがWindowsであるためか、インストールに失敗しました。QuaZip SourceForge ページには、ダウンロードするソースしかありません。ダウンロード後、quazip-0.3 ディレクトリの Qt コマンド プロンプトから qmake と mingw32-make を実行してみました。出力は次のとおりです。
Z:\quazip-0.3>mingw32-make
cd quazip\ && mingw32-make -f Makefile
mingw32-make[1]: Entering directory `Z:/quazip-0.3/quazip'
mingw32-make -f Makefile.Debug
mingw32-make[2]: Entering directory `Z:/quazip-0.3/quazip'
gcc -c -g -Wall -DUNICODE -DQT_LARGEFILE_SUPPORT -DQT_DLL -DQT_CORE_LIB -DQT_THR
EAD_SUPPORT -I"c:\Qt\2010.05\qt\include\QtCore" -I"c:\Qt\2010.05\qt\include" -I"
." -I"c:\Qt\2010.05\qt\include\ActiveQt" -I"debug" -I"c:\Qt\2010.05\qt\mkspecs\w
in32-g++" -o debug\ioapi.o ioapi.c
ioapi.c:13:18: error: zlib.h: No such file or directory
In file included from ioapi.c:14:
ioapi.h:38: error: expected declaration specifiers or '...' before '*' token
ioapi.h:38: error: function definition declared 'typedef'
ioapi.h:38: warning: return type defaults to 'int'
ioapi.h: In function 'voidpf':
ioapi.h:38: error: expected declaration specifiers before 'OF'
ioapi.h:39: error: expected declaration specifiers or '...' before '*' token
ioapi.h:39: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'OF'
ioapi.h:40: error: expected declaration specifiers or '...' before '*' token
ioapi.h:40: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'OF'
ioapi.h:41: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'OF'
ioapi.h:42: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'OF'
ioapi.h:43: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'OF'
ここで、「ioapi.c:13:18: error: zlib.h: No such file or directory」という行は、zlib が見つからないことを意味します。しかし、zlib は Qt に含まれるべきではないでしょうか? Qt は zlib に依存していますね。