我正在尝试编译我用zlib编写的程序的32位版本(MinGW)。到目前为止,我从来没有编译过32位,所以我从源代码(libz.a)编译的zlib版本是64位的。我尝试重新运行zlib-1.2.5目录中的makefile,但它只编译了64位版本的libz.a。
我似乎找不到构建32位的选择。
有人知道怎么做吗?
谢谢!
Jeffrey Kevin Pry
发布于 2011-07-06 02:01:54
事实证明,我必须获得32位版本的MinGW,并用它进行编译。我用的是MinGW64。
发布于 2015-01-05 22:51:18
检查配置文件,您可以看到一些env。
在64位debian上,以下命令行将构建32位版本的libz
CFLAGS=-m32 ./configure发布于 2019-06-08 19:20:55
使用CFLAGS=-32对我来说是行不通的,configure脚本仍然告诉我应该使用win32/Makefile.gcc。
zlib的最新版本是1.2.11,所以到目前为止,它的差异应该是最小的。在没有任何系统上下文的情况下,下面的内容可能对目前面临类似问题的其他用户很有用。
我在Linux (Ubuntu 18.04)上交叉编译,目标是生成32位版本的zlib。我所做的如下所示。
./configure (这只是为了让我们有所需的文件到构建过程,我们将使用不同的Makefile )win32/Makefile.gcc的PREFIX=i686-w64-mingw32- (对于64位,您可以通过make install -fwin32/Makefile.gcc SHARED_MODE=1 INCLUDE_PATH=/tmp/zlib-win32/include LIBRARY_PATH=/tmp/zlib-win32/lib BINARY_PATH=/tmp/zlib-win32/bin将其更改为PREFIX=x86_64-w64-mingw32-.make -fwin32/Makefile.gccINCLUDE_PATH、LIBRARY_PATH和BINARY_PATH。BINARY_PATH将包含结果.dll文件。https://stackoverflow.com/questions/6520544
复制相似问题