我刚刚用 Cygwin 编译了 zlib 和 libzip,以便在 Windows 中将它们与 Code::Blocks 一起使用。我的代码是:
#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' 的引用”。可能缺少一些东西,但是什么?