[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 メーリングリストの案内