如何使用 zlibwapi 而不是 zlib 来编译 PostgreSQL?
How to use zlibwapi instead of zlib for compiling PostgreSQL?
对于 PostgreSQL,我在 msvc 2022 上编译了 zlib 1.2.11。编译 zlib 后,我得到了以下文件列表。
Directory of C:\Users\Documents\zlib_build\zlib-1.2.11\contrib\vstudio\vc14\x86\ZlibDllRelease
02/04/2022 11:33 AM <DIR> .
02/04/2022 11:33 AM <DIR> ..
02/04/2022 11:33 AM <DIR> Tmp
02/04/2022 11:33 AM 143,360 vc143.pdb
02/04/2022 11:33 AM 422,912 zlibwapi.dll
02/04/2022 11:33 AM 16,800 zlibwapi.exp
02/04/2022 11:33 AM 28,330 zlibwapi.lib
02/04/2022 11:33 AM 759,073 zlibwapi.map
02/04/2022 11:33 AM 6,696,960 zlibwapi.pdb
6 File(s) 8,067,435 bytes
3 Dir(s) 24,997,359,616 bytes free
但是当我使用上面的 Zlib 库编译 PostgreSQL 时,出现以下错误。
LINK : fatal error LNK1181: cannot open input file 'C:\library\zlib_build\ZlibDllRelease\lib\zdll.lib'
这是我第一次编译 Zlib 库,我是否遗漏了获得 zdll.lib 文件的任何步骤。或者我是否需要更改与 Postgres 编译相关的任何内容,以便它使用 zlibwapi.lib?
我找不到绕过 zlibwapi 的方法,但找到了一种更简单的方法来构建 zlib(1.2.11) 库。
- 从 Visual studio 打开“开发人员命令提示符”。
- 转到解压缩源的主 zlib 目录,然后运行使用以下命令构建它。
nmake -f win32/Makefile.msc
这个命令可以在win32/Makefile.msc
中找到
在那里我们会得到当前目录下所有与zlib相关的库文件。
此外,如果需要,创建一个单独的目录(zlib_build)并将文件复制到各自的目录,如下所示。
zlib_build\lib -> zdll.*, zlib.*
zlib_build\bin -> zlib1.*
zlib_build\include -> zlib.h, zconf.h
在路径中使用这个后,我成功构建了PostgreSQL。
对于 PostgreSQL,我在 msvc 2022 上编译了 zlib 1.2.11。编译 zlib 后,我得到了以下文件列表。
Directory of C:\Users\Documents\zlib_build\zlib-1.2.11\contrib\vstudio\vc14\x86\ZlibDllRelease
02/04/2022 11:33 AM <DIR> .
02/04/2022 11:33 AM <DIR> ..
02/04/2022 11:33 AM <DIR> Tmp
02/04/2022 11:33 AM 143,360 vc143.pdb
02/04/2022 11:33 AM 422,912 zlibwapi.dll
02/04/2022 11:33 AM 16,800 zlibwapi.exp
02/04/2022 11:33 AM 28,330 zlibwapi.lib
02/04/2022 11:33 AM 759,073 zlibwapi.map
02/04/2022 11:33 AM 6,696,960 zlibwapi.pdb
6 File(s) 8,067,435 bytes
3 Dir(s) 24,997,359,616 bytes free
但是当我使用上面的 Zlib 库编译 PostgreSQL 时,出现以下错误。
LINK : fatal error LNK1181: cannot open input file 'C:\library\zlib_build\ZlibDllRelease\lib\zdll.lib'
这是我第一次编译 Zlib 库,我是否遗漏了获得 zdll.lib 文件的任何步骤。或者我是否需要更改与 Postgres 编译相关的任何内容,以便它使用 zlibwapi.lib?
我找不到绕过 zlibwapi 的方法,但找到了一种更简单的方法来构建 zlib(1.2.11) 库。
- 从 Visual studio 打开“开发人员命令提示符”。
- 转到解压缩源的主 zlib 目录,然后运行使用以下命令构建它。
nmake -f win32/Makefile.msc
这个命令可以在win32/Makefile.msc
在那里我们会得到当前目录下所有与zlib相关的库文件。 此外,如果需要,创建一个单独的目录(zlib_build)并将文件复制到各自的目录,如下所示。
zlib_build\lib -> zdll.*, zlib.*
zlib_build\bin -> zlib1.*
zlib_build\include -> zlib.h, zconf.h
在路径中使用这个后,我成功构建了PostgreSQL。