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

陶山 泰 postgrml @ suyama.net
2007年 12月 29日 (土) 15:17:20 JST


さいとうさん、こんにちは。

 どうもありがとうございます、陶山です。

        Sat, 29 Dec 2007 14:26:55 +0900 の
        [pgsql-jp: 39040] Re:	WIN32 でのlibpq 生成でエラー
        に関するメールについてのお返事です。

"Hiroshi> VC6はSP6でも入っていないようで、まえに、VC2003ようのSDKが配布されて
"Hiroshi> いたのでそれが使えたと記憶しています。しかし、いまは配布されていないよう
"Hiroshi> ですね。そこで、以下のようにして作ることが出来るので、お試しくださいませ。

 さいとうさんのレスを見る前にネットからダウンロードしてきました。

 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 がインストールされた。
 まだ使えるのかどうかは確認できていません。
 (別の問題が発生)


"Hiroshi> 1. Windows\system32からshfolder.dllを適当な作業位置に持ってきて
"Hiroshi> 
"Hiroshi> 2. shfolder.defを作る。
"Hiroshi> 
"Hiroshi> -- shfolder.def  --
"Hiroshi> LIBRARY "shfolder.dll"
"Hiroshi> EXPORTS
"Hiroshi>  SHGetFolderPathA
"Hiroshi>  SHGetFolderPathW
"Hiroshi> 
"Hiroshi> 3. shfolder.libを作る
"Hiroshi> lib /def:shfolder.def /MACHINE:X86 /out:shfolder.lib
"Hiroshi> 
"Hiroshi> これが使えるようになるかと思います。

 このさいとうさんのやり方であれば、
------------------------------------------------------------------------
fe-connect.c(3208) : warning C4013: 関数 'SHGetFolderPath' は定義されていません
。int 型の値を返す外部関数と見なします。
        link.exe -lib @C:\DOCUME~1\suyama\LOCALS~1\Temp\nma03992.
        link.exe @C:\DOCUME~1\suyama\LOCALS~1\Temp\nmb03992.
   ライブラリ .\Release\libpqdll.lib とオブジェクト .\Release\libpqdll.exp を作成中
libpq.lib(fe-connect.obj) : error LNK2001: 外部シンボル "_SHGetFolderPath" は未解決
です
.\Release\libpq.dll : fatal error LNK1120: 外部参照 1 が未解決です。
NMAKE : fatal error U1077: 'link.exe' : リターン コード '0x460'
------------------------------------------------------------------------
のエラーはでなくなるのかな。

 今は上記ダウンロードしてきたライブラリで、SHGetFolderPath を解決しよ
うと苦労しています。




pgsql-jp メーリングリストの案内