わたがし食べたい

アイドルマスター卯月Pによるつれづれなる技術ブログ(仮)

libpqxx5.1 を Visual Stadio 2017 でビルドする

環境

windows7

Visual Stadio 2017

libpqxxの5.1

GitHub - jtv/libpqxx at 5.1

※master版のビルドも次回やります(やることはほとんど変わりません。)

 

 参考

tensor12321.hatenablog.jp

基本的には参考のページを見て実施。

前提条件

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へ移動してコマンド実行

f:id:kuroaka3:20180610145735p:plain

VCVARSALL.BAT amd64

ビルド

nmake /f win32/vc-libpqxx.mak ALL

f:id:kuroaka3:20180619012540p:plain

※ビルド中に上記のような警告?が表示されるが、C++ではよくあるメッセージらしい。

f:id:kuroaka3:20180619012715p:plain

コマンドプロンプトが上記のようになり、libpqxxのlibフォルダに以下のようにlibpqxx.dllが出来ていればOK(libpqxxD.dllはデバック用)

f:id:kuroaka3:20180619012808p:plain

 

以上です。

早めにmasterのビルド方法もあげます。(やることは変わりません)