[PHP-users 23953] Re: 4.3.10がWindowsでビルドできない

"佐野 大輔" d-sano @ cybozu.co.jp
2004年 12月 21日 (火) 18:24:15 JST


自己レスです。

> #define zend_sprintf sprintf
> 
> としてあったので、
> このマクロ定義をはずすととりあえずビルドできたのですが。。

すみません。はずしたら通りません。

#define zend_sprintf _zend_sprintf

とリネームしました。

佐野 大輔 wrote:
> 佐野と申します。
> 
> 4.3.10をWindowsでビルドしようとしたのですが、
> 
> コンパイル時に、
> 
> C:\cygwin\home\Administrator\cvs\work\azalea_win\php-4.3.10\Zend\zend_sprintf.c(30) : warning C4273: 'sprintf' : DLL リンケージが矛盾しています。DLL にエクスポートされていると仮定します。
> 
> となり、リンク時に
> 
> MSVCRT.lib(MSVCRT.dll) : error LNK2005: _sprintf はすでに ZendTS.lib(zend_sprintf.obj) で定義されています
> 
> となって、失敗します。
> 
> ソースを見ると、Zend/zend_sprintf.cで、
> 
> int zend_sprintf(char *buffer, const char *format, ...)
> {
>      ....
> }
> 
> と実装されてるにも関わらず、
> Zend/zend_config.w32.hでは、
> 
> #define zend_sprintf sprintf
> 
> としてあったので、
> このマクロ定義をはずすととりあえずビルドできたのですが。。
> 
> このような対処で良いのでしょうか?
> どうぞ、ご助言よろしくお願いいたします。
> _______________________________________________
> PHP-users mailing list  PHP-users @ php.gr.jp
> http://ns1.php.gr.jp/mailman/listinfo/php-users
> PHP初心者のためのページ - 質問する前にはこちらをお読みください
> http://www.php.gr.jp/php/novice.php3

**************************************************
サイボウズ株式会社
フレームワークプロジェクト 
佐野大輔

E-mail:d-sano @ cybozu.co.jp
Tel:03-5805-9234
Fax:03-5805-9036
**************************************************



PHP-users メーリングリストの案内