Windows の Code::Blocks で使用するために、zlib と libzip を Cygwin でコンパイルしました。私のコードは次のとおりです。
#include <iostream>
#include <zip.h>
int main()
{
//Open the ZIP archive
int err = 0;
zip *z = zip_open("main.zip", 0, &err);
zip_close(z);
std::cout << "Hello world!" << std::endl;
return 0;
}
コードをビルドすると、問題なく動作し、エラーや警告は発生しません。
プログラムを起動すると、cygzip-2.dll がないと表示されます。わかりました、検索して実行可能フォルダーに入れます。次に、cygwin1.dll がないと表示されます。よし、私も入れた。cygz.dll と cyggcc_s-1.dll についても同様です。
ああ、それは動作します!しかし、その後、私のプログラムは常に同じステータスで停止します: -1073741819. こんにちはとさえ言ってくれません:(
MinGW でコンパイルし (Cygwin でも同じエラーが発生しました)、libz.a、libzip.a、および libzip.dll.a をリンクしました。問題はどこから発生する可能性がありますか?
ありがとう!
編集: Cygwin でプログラムをコンパイルしようとすると、 「'_ zip_open ' への未定義の参照」および「'_zip_close' への未定義の参照」と表示されます。おそらく何かが欠けていますが、何ですか?