[pgsql-jp: 40504] Re: windows 環境での odbc ドライバのビルドについて

Hiroshi Inoue inoue @ tpf.co.jp
2010年 11月 5日 (金) 06:36:34 JST


井上です。

(2010/11/04 20:53), 片山 年秀 wrote:
> はじめまして、矢田間と申します。
> 
> PostgreSQLのODBCドライバをwindows環境でビルドをとろうと
> しているのですが、ビルドエラーが発生します。
> 
> 環境としましては以下の通りです。
> VC++6.0、

VC6の環境を持っておらずはっきりしたことは言えないので
すが、winsock.hとwinsock2.hが混在してしまっている感じ
ですね。socket.cの先頭(インクルードファイルの前)に
_WINSOCKAPI_かWIN32_LEAN_AND_MEANを#defineしてみては
いかがでしょうか?

> ソース:psqlodbc-08.02.0400、
> openssl-0.9.8o(includeファイルがないとエラーが出るので
> インストールしてパス設定しました)
> 
> エラーの一部を抜粋したものが以下のものですが、ほとんど構
> 造体の再定義に関するものでした。
> --------------------構成: psqlODBC - Win32
> Debug--------------------
> コンパイル中...
> socket.c
> C:\Program Files\Microsoft Visual
> Studio\VC98\INCLUDE\winsock2.h(99) : error C2011: 'fd_set'
> : 'struct'
> で示される型としてすでに定義されています。
> C:\Program Files\Microsoft Visual
> Studio\VC98\INCLUDE\winsock2.h(134) : warning C4005:
> 'FD_SET' :
> マクロが再定義されました。
>          C:\Program Files\Microsoft Visual
> Studio\VC98\INCLUDE\winsock.h(83) : 'FD_SET'
> の前の定義を確認してください
> C:\Program Files\Microsoft Visual
> Studio\VC98\INCLUDE\winsock2.h(143) : error C2011:
> 'timeval' : 'struct'
> で示される型としてすでに定義されています。
> C:\Program Files\Microsoft Visual
> Studio\VC98\INCLUDE\winsock2.h(199) : error C2011:
> 'hostent' : 'struct'
> で示される型としてすでに定義されています。
> 
> うまくビルドできる方法はないものでしょうか。
> ご教授お願いいたします。
> 
> 以上です。


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