[PHP-users 12086] Re: pg_affected_rows() について

fumio php-users@php.gr.jp
Sun, 08 Dec 2002 19:07:17 +0900


fumioです。

> 結論から言うとconfigureには問題ありません。
> コンパイルできるかどうかを確認しているだけで、
> PQcmdTuplesがあるかどうかだけを確認してます。

これはわかります。


> UNIX系のlibpqにはこの問題はないはずですが...違っていた
> ら教えてください。UNIX系の場合は、nmでシンボルが定義され
> ているか確認してください。この場合、OS、バージョン、コンパ
> イラ、コンパイラのバージョンもお願いします。

OSはLinux(Turbo Linux 7)で、g++ --version の出力結果は 2.95.3 でした。

試しにチェックプログラム(.c)を作り、configure で指定されているであろう
g++を使って確認(コンパイル)したところ、やはりNGでした。試行錯誤した結果、
プロトタイプに extern "C" を付けることでコンパイルが通るようになりました。

修正前:char PQcmdTuple(); 
修正後:extern "C" char PQcmdTuple(); 

g++の詳細な挙動を知らないのですが、拡張子が .c のプログラムでもデフォル
トで C++リンケージのシンボルを参照・生成するのでしょうか。


-- 
by fumion <catty@cds.ne.jp>