2007年12月29日

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

さいとうです。

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

1. Windows\system32からshfolder.dllを適当な作業位置に持ってきて

2. shfolder.defを作る。

-- shfolder.def --
LIBRARY "shfolder.dll"
EXPORTS
SHGetFolderPathA
SHGetFolderPathW

3. shfolder.libを作る
lib /def:shfolder.def /MACHINE:X86 /out:shfolder.lib

これが使えるようになるかと思います。

From: "陶山 泰" <postgrml@xxxxx>


> こんにちは。陶山@九州支部です。
>
> Windows でlibpq.dllを生成しようとして
> postgresql-8.1.9.tar.gz を解凍して
> \postgresql-8.1.9\src>nmake /f win32.mak
> を実行したら次のようなメッセージで停止しました。
>    「入力ファイル "shfolder.lib" を開けません」
>  #shfolder.lib というファイルは確かにパソコンの中に存在していません。
>
>  [pgsql-jp:7745]〜[pgsql-jp:7747] に似ていますが異なるようです。
>
> どのように解決したらよいのでしょう
> お教えいただけますでしょうか.
>
> 以下コンソール出力メッセージです。
> ただし、無関係と思われる部分は省略し、また半角カタカナを全角カタカナ
> に置換してあります。
> −−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−
>  ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・
>      いろいろあって(警告やエラーはありません)
>  ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・
> cl.exe /nologo /W3 /GX /O2 /MD /I "..\..\include" /I. /D "FRONTEND" /D N
> DEBUG /D "WIN32" /D "_WINDOWS" /Fp".\Release\libpq.pch" /YX /Fo".\Release\\" /Fd
> ".\Release\\" /FD /c /D "HAVE_VSNPRINTF" /D "HAVE_STRDUP" "fe-connect.c"
> fe-connect.c
> fe-connect.c(3208) : warning C4013: 関数 'SHGetFolderPath' は定義されていません
> 。int 型の値を返す外部関数と見なします。
>  ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・
>      いっぱい出力が続き(警告やエラーはありません)
>  ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・
> rc.exe /l 0x409 /fo".\Release\libpq.res" libpq.rc
> link.exe @C:\DOCUME~1\suyama\LOCALS~1\Temp\nml03380.
> LINK : fatal error LNK1181: 入力ファイル "shfolder.lib" を開けません
> NMAKE : fatal error U1077: 'link.exe' : リターン コード '0x49d'
> Stop.
> NMAKE : fatal error U1077: '"C:\Program Files\Microsoft Visual Studio\VC98\bin\N
> MAKE.EXE"' : リターン コード '0x2'
> Stop.
> −−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−
> バージョン等
> WindowsXP SP2
> Visual Studio 6.0 Enterprise Edition
>   (libpqのためだけに今日インストールしました)
> PostgreSQL ソース 8.1.9
>

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




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