SSLをサポートするWindows(VS2010 32および64ビット)でlibpqをコンパイルすることに疑問があります。postgresの最新ソースと OpenSSL Win64 v1.0.1c をダウンロードし ました。libpq フォルダーで nmake を実行しました。
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 が見つかりません。少し調べてみると、この lib は Windows SDK と共にデプロイされており、VS 2005 以降は不要であることがわかりました ( Vista / Win 7 SDK bufferoverflowu.lib linking error を参照)。したがって、libpq の make ファイル (win32.mak:20) で、次の行をコメントアウトしました。
ADD_SECLIB=bufferoverflowU.lib
そしてそれはうまくコンパイルされます。また、この libpq を ssl でテストしても問題はありませんでした。
ビルドから bufferoverflowU.lib を削除するのは良心の呵責が必要ですか、それともメイクファイルが VS 2010 用ではないからですか? (ところで: openssl は、VC フォルダー内のライブラリの名前をそれぞれ *MD.lib にそれぞれ *MT.lib に変更しました。古い名前のライブラリは、C:\OpenSSL-Win64\lib の 1 つ上のディレクトリにあります)
VS2010 ビルドで bufferoverflowU.lib が必要かどうか教えてもらえますか?
乾杯、550