libpqxx5.1 を Visual Stadio 2017 でビルドする
環境
Visual Stadio 2017
libpqxxの5.1
※master版のビルドも次回やります(やることはほとんど変わりません。)
参考
基本的には参考のページを見て実施。
前提条件
libpqxxのビルドはPostgreSQLがインストールしてあることが前提です。
postgresのincludeファイルを使用します。
ビルド前準備
・common-sampleをcommonファイルとして複製。
→内容は参考のURL参照
(Postgresのインストールディレクトリのパスを書き換えるのを忘れずに)
・ヘッダーファイルのコピー
libpqxx-5.1\config\sample-headers\compiler\VisualStudio2013\pqxx
配下の2ファイルをlibpqxx-5.1\include\pqxxへコピー
・vc-libpqxx.makの修正
259,269行目の$(LIBPQDPATH)"$(LIBPQDDLL)"を
postgresのインストールディレクトリにあるlib配下のlibpq.dllのパスにする
私の場合は
"C:\Program Files\PostgreSQL\10\lib\libpq.dll"
271,274行目の$(LIBPQDPATH)"$(LIBPQDLIB)"を
postgresのインストールディレクトリにあるlib配下のlibpq.libのパスにする
私の場合は
"C:\Program Files\PostgreSQL\10\lib\libpq.lib"
※これはvc-libpqxx.makの$(LIBPQDPATH)"$(LIBPQDDLL)"や$(LIBPQDPATH)"$(LIBPQDLIB)"のダブルコーテーションの位置がおかしいため、エラーが発生します。
正しい位置(masterを参考にするとよい)にしてもビルド出来ると思いますが、今回は単純にパスを書きました。
(ここから先はVS2017の開発用コマンドプロンプトで実施)
・VCVARSALL.BATの実行
C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Auxiliary\Buildへ移動してコマンド実行
VCVARSALL.BAT amd64
ビルド
nmake /f win32/vc-libpqxx.mak ALL
※ビルド中に上記のような警告?が表示されるが、C++ではよくあるメッセージらしい。
コマンドプロンプトが上記のようになり、libpqxxのlibフォルダに以下のようにlibpqxx.dllが出来ていればOK(libpqxxD.dllはデバック用)
以上です。
早めにmasterのビルド方法もあげます。(やることは変わりません)