我对在支持 SSL 的 Windows(VS2010 32 和 64 位)上编译 libpq 有疑问。我下载了最新的 postgres源以及OpenSSL Win64 v1.0.1c。我在 libpq 文件夹中运行 nmmake:
cd postgresql-9.2.2\interfaces\libpq
nmake /f win32.mak CPU=AMD64 USE_SSL=1 SSL_INC=C:\OpenSSL-Win64\include SSL_LIB_PATH=C:\OpenSSL-Win64\lib
然后编译结束,他找不到bufferoverflowU.lib。搜索了一下我发现,这个库是与 windows SDK 一起部署的,并且由于 VS 2005 不再需要(参见Vista / Win 7 SDK bufferoverflowu.lib 链接错误)。所以在 libpq 的 make 文件 (win32.mak:20) 中我注释掉了这一行
ADD_SECLIB=bufferoverflowU.lib
它编译得很好。我也没有遇到任何麻烦,用 ssl 测试这个 libpq。
我是否需要良心不好从构建中删除 bufferoverflowU.lib 还是仅仅因为 makefile 不适用于 VS 2010?(顺便说一句:openssl 已将 VC 文件夹中的库名称分别更改为 *MD.lib *MT.lib。旧命名的库位于 C:\OpenSSL-Win64\lib 中,一个目录)
有人能告诉我在 VS2010 构建中是否需要 bufferoverflowU.lib 吗?
干杯,550