2007年12月29日

[pgsql-jp: 39045] Re:WIN32 でのlibpq 生成でエラー

陶山です。

 VisualC++6.0 をインストールし、 libpq を作成しようとしましたが、うま
く作成できませんでした。
 ソースを見たり、ネットで調べたり、いろいろと試行錯誤した結果、以下の
やり方で libpq.dll を作成することができました。
 psql コマンドで、ネットで接続された他サーバのDBを覗くことができま
したので、libpq.dll はきちんと動作できていると判断しました。


 VisualC++6.0 をインストールしただけでは、不足するリソースがたくさんあ
り、それらは、マイクロソフトのサイトからダウンロードすることで解決しま
した。

 具体的には、 Microsoft Platform SDK
http://www.microsoft.com/downloads/details.aspx?FamilyId=A55B6B43-E24F-4EA3-A93E-40C0EC4F68E5&displaylang=en
のページから
PSDK-x86.exe をダウンロードしてインストール(PSDK-x86.exe を実行)します。

 するとC:\Program Files\Microsoft Platform SDK\Lib 内に shfolder.lib が
作成されます。これを lib 環境変数に登録しておきます。
 
C:\Program Files\Microsoft Platform SDK\Include ディレクトリ全部を
C:\Program Files\Microsoft Visual Studio\VC98\ へコピーします。
念のためあらかじめC:\Program Files\Microsoft Visual Studio\VC98\Include
をバックアップしておきました。

include 環境変数に
C:\Program Files\Microsoft Visual Studio\VC98\include\crt を追加して
おきます。

 これらの準備が整ったら、postgresql の src ディレクトリで
nmake /f win32.mak
を実行します。

 これで、
interfaces\libpq\Release\libpq.dll
interfaces\libpq\Release\libpqdll.lib
interfaces\libpq\Release\libpq.lib

bin\psql\Release\psql.exe
等が作成できました。

 bin\psql\Release\ に、libpq.dll をコピーしておいて
psql -h hostname -p portnumber -l
でデータベースが見えることを確認しました。
 (SELECT 文もやってみました)

 この方法が正しいかどうかはわかりませんが、とりあえず動作するので、
OKとしました。

-------------------------
WindowsXP SP2
Visual Studio 6.0 Enterprise Edition
PostgreSQL 8.1.9
-------------------------

投稿者 xml-rpc : 2007年12月29日 16:33
役に立ちました?:
過去のフィードバック 平均:(0) 総合:(0) 投票回数:(0)
本記事へのTrackback: http://hoop.euqset.org/blog/mt-tb2006.cgi/68147
トラックバック
コメント
コメントする




画像の中に見える文字を入力してください。