1

zlib を使用するプログラムを MSVC で Windows に移植しようとしています。残念ながら、何時間も試行した後、zlib を参照するものを実行することができないようです。

これは、zlib が実行できるかどうかをテストするために使用しているダミー プログラムです。

#include <zlib.h>
#include <stdio.h>

int main(void)
{
    z_stream zst;
    zst.zalloc = Z_NULL;
    zst.zfree = Z_NULL;
    zst.opaque = Z_NULL;
    zst.next_out = Z_NULL;
    zst.next_in = Z_NULL;
    zst.avail_out = 0;

    inflateInit(&zst);

    puts("hello, world!");

    return 0;
}

ここにある zlib DLL アーカイブの内容をそれぞれの GnuWin32 ディレクトリにコピーして zlib をインストールした後 (ここにあるセットアップには無効なヘッダーが含まれているように見えたため)、次のようにテスト プログラムをコンパイルしようとしました。

C:\Documents and Settings\Administrator\My Documents>cl test.c -I"C:\Program Files\GnuWin32\include" "C:\Program Files\GnuWin32\lib\zlib.lib"
Microsoft (R) 32-bit C/C++ Optimizing Compiler Version 15.00.30729.0 for 80x86
Copyright (C) Microsoft Corporation. All rights reserved

test.c
Microsoft (R) Incremental Linker Version 9.0030729.01
Copyright (C) Microsoft Corporation. All rights reserved.

/out:test.exe
test.obj
"C:\Program Files\GnuWin32\lib/zlib.lib"

次に、test.exe を実行しようとすると、次のようなエラー ダイアログが表示されます。

zlib1.dll が見つからなかったため、このアプリケーションを開始できませんでした。アプリケーションを再インストールすると、この問題が解決する場合があります。

どんな助けでも大歓迎です。

4

4 に答える 4

0

Win32 ディレクトリにある ZLIB ディストリビューションに含まれている DLL_FAQ.txt ファイルを読む必要があります。ZLIB.dll の代わりに ZLIB1.dll を使用する理由、変更が加えられた理由、違いは何かを説明し、選択できる選択肢についての洞察を提供します。

于 2009-12-17T04:09:19.717 に答える